{
 "cells": [
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "# Titanic 乘客幸存预测"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 1 题解\n",
    "\n",
    "这是kaggle入门题，根据`data/train.csv`数据集构建模型，在`data/test.csv`上预测幸存与否（0=罹难，1=幸存）。作为两分类预测问题，可使用常用的机器学习分类器解决，最后用`accuracy/precision/recall/F1/auc/roc`等指标来评价。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 2 准备工作"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.1 加载需要的包"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "除了必备基建`pandas`，可视化工具`matplotlib`、`seaborn`（或交互图工具`plotly`、`altair`），还需要从`scikit-learn`加载一系列必要的模块。\n",
    "\n",
    "> `xgboost`、`lightgbm`尚未集成进`scikit-learn`，需要单独安装引入。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 1,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/madlogos/anaconda3/lib/python3.7/site-packages/lightgbm/__init__.py:48: UserWarning: Starting from version 2.2.1, the library file in distribution wheels for macOS is built by the Apple Clang (Xcode_8.3.3) compiler.\n",
      "This means that in case of installing LightGBM from PyPI via the ``pip install lightgbm`` command, you don't need to install the gcc compiler anymore.\n",
      "Instead of that, you need to install the OpenMP library, which is required for running LightGBM on the system with the Apple Clang compiler.\n",
      "You can install the OpenMP library by the following command: ``brew install libomp``.\n",
      "  \"You can install the OpenMP library by the following command: ``brew install libomp``.\", UserWarning)\n"
     ]
    }
   ],
   "source": [
    "import time\n",
    "import warnings\n",
    "import numpy as np\n",
    "import pandas as pd\n",
    "import tensorflow as tf\n",
    "from tensorflow.keras import layers\n",
    "# visualization\n",
    "import seaborn as sns\n",
    "import matplotlib.pyplot as plt\n",
    "import altair as alt\n",
    "import plotly\n",
    "from IPython.display import HTML, display\n",
    "from scipy.stats import chi2_contingency, f_oneway\n",
    "import statsmodels.api as sm\n",
    "# sklearn\n",
    "from sklearn.preprocessing import LabelEncoder, MinMaxScaler, Normalizer, \\\n",
    "    OneHotEncoder, OrdinalEncoder, StandardScaler\n",
    "from sklearn.pipeline import Pipeline\n",
    "from sklearn.compose import ColumnTransformer\n",
    "from sklearn.metrics import accuracy_score, auc, roc_curve, confusion_matrix, \\\n",
    "    f1_score, recall_score, precision_score\n",
    "from sklearn.model_selection import StratifiedKFold, GridSearchCV, \\\n",
    "    train_test_split\n",
    "# algorithms\n",
    "from sklearn.linear_model import LinearRegression, LogisticRegression, \\\n",
    "    RidgeClassifier\n",
    "from sklearn.discriminant_analysis import LinearDiscriminantAnalysis as LDA, \\\n",
    "    QuadraticDiscriminantAnalysis as QDA\n",
    "from sklearn.ensemble import AdaBoostClassifier, BaggingClassifier, \\\n",
    "    GradientBoostingClassifier, RandomForestClassifier, ExtraTreesClassifier\n",
    "from sklearn.svm import SVC, LinearSVC, NuSVC\n",
    "from sklearn.tree import DecisionTreeClassifier, ExtraTreeClassifier\n",
    "from xgboost import XGBClassifier\n",
    "from lightgbm import LGBMClassifier"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 2,
   "metadata": {},
   "outputs": [],
   "source": [
    "# show all the output instead of the last one \n",
    "from IPython.core.interactiveshell import InteractiveShell\n",
    "InteractiveShell.ast_node_interactivity = \"all\"\n",
    "pd.set_option('display.max_rows', 200)\n",
    "%matplotlib inline\n",
    "plt.rcParams['figure.figsize'] = (12, 9)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 2.2 加载数据"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 3,
   "metadata": {},
   "outputs": [],
   "source": [
    "train = pd.read_csv('data/train.csv')\n",
    "test = pd.read_csv('data/test.csv')"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 3. 探索性分析 (EDA)\n",
    "\n",
    "描述数据结构，并开展初步的关联分析。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.1 数据结构\n",
    "\n",
    "数据字典定义可参考kaggle和[README](./README.md)。但仍有必要快速查看一下数据的结构（规模、分布、水平、缺失等情况）。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 4,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "train的数据集大小为(891, 12)\n",
      "test的数据集大小为(418, 11)\n"
     ]
    }
   ],
   "source": [
    "print('train的数据集大小为%s\\ntest的数据集大小为%s' % \n",
    "      (str(train.shape), str(test.shape)))"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 5,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "<class 'pandas.core.frame.DataFrame'>\n",
      "RangeIndex: 891 entries, 0 to 890\n",
      "Data columns (total 12 columns):\n",
      " #   Column       Non-Null Count  Dtype  \n",
      "---  ------       --------------  -----  \n",
      " 0   PassengerId  891 non-null    int64  \n",
      " 1   Survived     891 non-null    int64  \n",
      " 2   Pclass       891 non-null    int64  \n",
      " 3   Name         891 non-null    object \n",
      " 4   Sex          891 non-null    object \n",
      " 5   Age          714 non-null    float64\n",
      " 6   SibSp        891 non-null    int64  \n",
      " 7   Parch        891 non-null    int64  \n",
      " 8   Ticket       891 non-null    object \n",
      " 9   Fare         891 non-null    float64\n",
      " 10  Cabin        204 non-null    object \n",
      " 11  Embarked     889 non-null    object \n",
      "dtypes: float64(2), int64(5), object(5)\n",
      "memory usage: 83.7+ KB\n"
     ]
    }
   ],
   "source": [
    "train.info()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "可以看到，Age和Cabin有大量缺失。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 6,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Ticket</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Cabin</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>male</td>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>A/5 21171</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>female</td>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>PC 17599</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>C85</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>female</td>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>STON/O2. 3101282</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>female</td>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>113803</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>C123</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>male</td>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>373450</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>NaN</td>\n",
       "      <td>S</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   PassengerId  Survived  Pclass  \\\n",
       "0            1         0       3   \n",
       "1            2         1       1   \n",
       "2            3         1       3   \n",
       "3            4         1       1   \n",
       "4            5         0       3   \n",
       "\n",
       "                                                Name     Sex   Age  SibSp  \\\n",
       "0                            Braund, Mr. Owen Harris    male  22.0      1   \n",
       "1  Cumings, Mrs. John Bradley (Florence Briggs Th...  female  38.0      1   \n",
       "2                             Heikkinen, Miss. Laina  female  26.0      0   \n",
       "3       Futrelle, Mrs. Jacques Heath (Lily May Peel)  female  35.0      1   \n",
       "4                           Allen, Mr. William Henry    male  35.0      0   \n",
       "\n",
       "   Parch            Ticket     Fare Cabin Embarked  \n",
       "0      0         A/5 21171   7.2500   NaN        S  \n",
       "1      0          PC 17599  71.2833   C85        C  \n",
       "2      0  STON/O2. 3101282   7.9250   NaN        S  \n",
       "3      0            113803  53.1000  C123        S  \n",
       "4      0            373450   8.0500   NaN        S  "
      ]
     },
     "execution_count": 6,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.2 单变量描述\n",
    "\n",
    "对于连续性变量，可以用`describe()`方法来描述。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 7,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Fare</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>count</th>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>714.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "      <td>891.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mean</th>\n",
       "      <td>446.000000</td>\n",
       "      <td>0.383838</td>\n",
       "      <td>2.308642</td>\n",
       "      <td>29.699118</td>\n",
       "      <td>0.523008</td>\n",
       "      <td>0.381594</td>\n",
       "      <td>32.204208</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>std</th>\n",
       "      <td>257.353842</td>\n",
       "      <td>0.486592</td>\n",
       "      <td>0.836071</td>\n",
       "      <td>14.526497</td>\n",
       "      <td>1.102743</td>\n",
       "      <td>0.806057</td>\n",
       "      <td>49.693429</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>min</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.420000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25%</th>\n",
       "      <td>223.500000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>2.000000</td>\n",
       "      <td>20.125000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>7.910400</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>50%</th>\n",
       "      <td>446.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>28.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>14.454200</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75%</th>\n",
       "      <td>668.500000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>38.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.000000</td>\n",
       "      <td>31.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>max</th>\n",
       "      <td>891.000000</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>3.000000</td>\n",
       "      <td>80.000000</td>\n",
       "      <td>8.000000</td>\n",
       "      <td>6.000000</td>\n",
       "      <td>512.329200</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "       PassengerId    Survived      Pclass         Age       SibSp  \\\n",
       "count   891.000000  891.000000  891.000000  714.000000  891.000000   \n",
       "mean    446.000000    0.383838    2.308642   29.699118    0.523008   \n",
       "std     257.353842    0.486592    0.836071   14.526497    1.102743   \n",
       "min       1.000000    0.000000    1.000000    0.420000    0.000000   \n",
       "25%     223.500000    0.000000    2.000000   20.125000    0.000000   \n",
       "50%     446.000000    0.000000    3.000000   28.000000    0.000000   \n",
       "75%     668.500000    1.000000    3.000000   38.000000    1.000000   \n",
       "max     891.000000    1.000000    3.000000   80.000000    8.000000   \n",
       "\n",
       "            Parch        Fare  \n",
       "count  891.000000  891.000000  \n",
       "mean     0.381594   32.204208  \n",
       "std      0.806057   49.693429  \n",
       "min      0.000000    0.000000  \n",
       "25%      0.000000    7.910400  \n",
       "50%      0.000000   14.454200  \n",
       "75%      0.000000   31.000000  \n",
       "max      6.000000  512.329200  "
      ]
     },
     "execution_count": 7,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "train.describe()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 8,
   "metadata": {},
   "outputs": [],
   "source": [
    "def describe_var(var:str, df:pd.DataFrame=train):\n",
    "    \"\"\"Descriptive analysis of single variable\n",
    "    Continuous variable: histgram + stat description\n",
    "    Categorical variable: bar plot + contingency table\n",
    "    \"\"\"\n",
    "    if df[var].dtype in ('float',):\n",
    "        sns.distplot(df[var])\n",
    "        plt.show()\n",
    "        return pd.DataFrame(df[var].describe()).T\n",
    "    elif df[var].dtype in ('int', 'O', 'category'):\n",
    "        sns.countplot(df[var])\n",
    "        plt.show()\n",
    "        return pd.DataFrame(df[var].value_counts(dropna=False))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`PassengerId`, `Name`, `Ticket`分布上没有聚集趋势。剩下的变量看一下分布。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 9,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<h4>3.2.1 Survived分布</h4>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Survived</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>549</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>342</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Survived\n",
       "0       549\n",
       "1       342"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<h4>3.2.2 Pclass分布</h4>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtQAAAIWCAYAAAB3DRpPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAX0ElEQVR4nO3df4xl9Xnf8c/jBWMntmUICyVAA01XVcFNsLqiUZGq1I5qkrQBRcUiqpNNS0Mj0dSW+gsiNXHSrmQpbtTUiv9AtWOcOkE02DW1oqRoY8eJ64AXB2wDRl7ZCWwh7GLXsqksUujTP/aijmEXxjxzZnZ2Xi9pdM/93nPuPvPHFW8dzpxb3R0AAOCledlWDwAAANuZoAYAgAFBDQAAA4IaAAAGBDUAAAwIagAAGDhtqweYOPvss/uiiy7a6jEAADjF3XPPPU909+7jvbatg/qiiy7KwYMHt3oMAABOcVX1pyd6zSUfAAAwIKgBAGBAUAMAwICgBgCAAUENAAADghoAAAYENQAADAhqAAAYENQAADCwaFBX1Z9U1Wer6t6qOrhaO6uq7qyqL6wez1yz/01VdaiqHqqqNy05GwAAbITNOEP9t7v7su7eu3p+Y5ID3b0nyYHV81TVJUmuTXJpkiuTvLuqdm3CfAAA8JJtxSUfVyW5ZbV9S5Kr16zf2t1PdfeXkhxKcvkWzAcAAOu2dFB3kv9eVfdU1fWrtXO7+7EkWT2es1o/P8kja449vFr7JlV1fVUdrKqDR48eXXB0AAB4cact/P5XdPejVXVOkjur6vMvsG8dZ62ft9B9c5Kbk2Tv3r3Pex0AADbTomeou/vR1eORJB/KsUs4Hq+q85Jk9XhktfvhJBeuOfyCJI8uOR8AAEwtFtRV9e1V9epnt5P8nSSfS3JHkn2r3fYl+fBq+44k11bVGVV1cZI9Se5eaj4AANgIS17ycW6SD1XVs//Ob3T371TVp5LcVlXXJXk4yTVJ0t33V9VtSR5I8nSSG7r7mQXnAwCAscWCuru/mOR7j7P+5SRvPMEx+5PsX2omAADYaL4pEQAABgQ1AAAMCGoAABhY+j7UAMA2cMW7rtjqEWBDfOJnPrHp/6Yz1AAAMCCoAQBgQFADAMCAoAYAgAFBDQAAA4IaAAAGBDUAAAwIagAAGBDUAAAwIKgBAGBAUAMAwICgBgCAAUENAAADghoAAAYENQAADAhqAAAYENQAADAgqAEAYEBQAwDAgKAGAIABQQ0AAAOCGgAABgQ1AAAMCGoAABgQ1AAAMCCoAQBgQFADAMCAoAYAgAFBDQAAA4IaAAAGBDUAAAwIagAAGBDUAAAwIKgBAGBAUAMAwICgBgCAAUENAAADghoAAAYENQAADAhqAAAYENQAADAgqAEAYEBQAwDAgKAGAIABQQ0AAAOCGgAABgQ1AAAMCGoAABgQ1AAAMCCoAQBgQFADAMCAoAYAgAFBDQAAA4IaAAAGBDUAAAwIagAAGBDUAAAwIKgBAGBAUAMAwICgBgCAAUENAAADghoAAAYENQAADAhqAAAYENQAADAgqAEAYEBQAwDAgKAGAIABQQ0AAAOCGgAABgQ1AAAMCGoAABgQ1AAAMCCoAQBgQFADAMCAoAYAgAFBDQAAA4IaAAAGBDUAAAwIagAAGBDUAAAwIKgBAGBg8aCuql1V9cdV9ZHV87Oq6s6q+sLq8cw1+95UVYeq6qGqetPSswEAwNRmnKF+a5IH1zy/McmB7t6T5MDqearqkiTXJrk0yZVJ3l1VuzZhPgAAeMkWDeqquiDJDyf5T2uWr0pyy2r7liRXr1m/tbuf6u4vJTmU5PIl5wMAgKmlz1D/hyT/Ksn/XbN2bnc/liSrx3NW6+cneWTNfodXa9+kqq6vqoNVdfDo0aPLTA0AAOu0WFBX1d9NcqS771nvIcdZ6+ctdN/c3Xu7e+/u3btHMwIAwNRpC773FUl+pKp+KMkrkrymqv5zkser6rzufqyqzktyZLX/4SQXrjn+giSPLjgfAACMLXaGurtv6u4LuvuiHPtjw9/r7rckuSPJvtVu+5J8eLV9R5Jrq+qMqro4yZ4kdy81HwAAbIQlz1CfyDuS3FZV1yV5OMk1SdLd91fVbUkeSPJ0khu6+5ktmA8AANZtU4K6uz+W5GOr7S8neeMJ9tufZP9mzAQAABvBNyUCAMCAoAYAgAFBDQAAA4IaAAAGBDUAAAwIagAAGBDUAAAwIKgBAGBAUAMAwICgBgCAAUENAAADghoAAAYENQAADAhqAAAYENQAADAgqAEAYEBQAwDAgKAGAIABQQ0AAAOCGgAABgQ1AAAMCGoAABgQ1AAAMCCoAQBgQFADAMCAoAYAgAFBDQAAA4IaAAAGBDUAAAwIagAAGBDUAAAwIKgBAGBAUAMAwICgBgCAAUENAAADghoAAAYENQAADAhqAAAYENQAADAgqAEAYEBQAwDAgKAGAIABQQ0AAAOCGgAABgQ1AAAMCGoAABgQ1AAAMCCoAQBgQFADAMCAoAYAgAFBDQAAA4IaAAAGBDUAAAwIagAAGBDUAAAwIKgBAGBAUAMAwICgBgCAAUENAAADghoAAAYENQAADAhqAAAYENQAADAgqAEAYEBQAwDAgKAGAIABQQ0AAAOCGgAABgQ1AAAMCGoAABgQ1AAAMCCoAQBgQFADAMCAoAYAgAFBDQAAA4IaAAAGBDUAAAwIagAAGBDUAAAwIKgBAGBAUAMAwICgBgCAAUENAAADghoAAAYENQAADAhqAAAYWCyoq+oVVXV3Vd1XVfdX1S+s1s+qqjur6gurxzPXHHNTVR2qqoeq6k1LzQYAABtlyTPUTyV5Q3d/b5LLklxZVd+X5MYkB7p7T5IDq+epqkuSXJvk0iRXJnl3Ve1acD4AABhbLKj7mCdXT09f/XSSq5Lcslq/JcnVq+2rktza3U9195eSHEpy+VLzAQDARlj0Guqq2lVV9yY5kuTO7r4rybnd/ViSrB7PWe1+fpJH1hx+eLX23Pe8vqoOVtXBo0ePLjk+AAC8qEWDuruf6e7LklyQ5PKqet0L7F7He4vjvOfN3b23u/fu3r17o0YFAICXZFPu8tHdX03ysRy7NvrxqjovSVaPR1a7HU5y4ZrDLkjy6GbMBwAAL9WSd/nYXVWvXW2/MskPJPl8kjuS7Fvtti/Jh1fbdyS5tqrOqKqLk+xJcvdS8wEAwEY4bcH3Pi/JLas7dbwsyW3d/ZGq+mSS26rquiQPJ7kmSbr7/qq6LckDSZ5OckN3P7PgfAAAMLZYUHf3Z5K8/jjrX07yxhMcsz/J/qVmAgCAjeabEgEAYEBQAwDAgKAGAIABQQ0AAAOCGgAABgQ1AAAMCGoAABgQ1AAAMCCoAQBgQFADAMCAoAYAgAFBDQAAA4IaAAAGBDUAAAwIagAAGBDUAAAwIKgBAGBAUAMAwICgBgCAAUENAAADghoAAAYENQAADAhqAAAYWFdQV9WB9awBAMBOc9oLvVhVr0jybUnOrqozk9Tqpdck+c6FZwMAgJPeCwZ1kn+S5G05Fs/35P8H9deS/OqCcwEAwLbwgkHd3b+S5Feq6me6+12bNBMAAGwbL3aGOknS3e+qqr+Z5KK1x3T3+xeaCwAAtoV1BXVV/XqS705yb5JnVsudRFADALCjrSuok+xNckl395LDAADAdrPe+1B/LslfWHIQAADYjtZ7hvrsJA9U1d1Jnnp2sbt/ZJGpAABgm1hvUL99ySEAAGC7Wu9dPn5/6UEAAGA7Wu9dPr6eY3f1SJKXJzk9yf/u7tcsNRgAAGwH6z1D/eq1z6vq6iSXLzIRAABsI+u9y8c36e7/muQNGzwLAABsO+u95ONH1zx9WY7dl9o9qQEA2PHWe5ePv7dm++kkf5Lkqg2fBgAAtpn1XkP9D5ceBAAAtqN1XUNdVRdU1Yeq6khVPV5Vt1fVBUsPBwAAJ7v1/lHiryW5I8l3Jjk/yX9brQEAwI623qDe3d2/1t1Pr37el2T3gnMBAMC2sN6gfqKq3lJVu1Y/b0ny5SUHAwCA7WC9Qf2Pkrw5yZ8leSzJ30/iDxUBANjx1nvbvH+bZF93/68kqaqzkrwzx0IbAAB2rPWeof6eZ2M6Sbr7K0lev8xIAACwfaw3qF9WVWc++2R1hnq9Z7cBAOCUtd4o/vdJ/kdV/VaOfeX4m5PsX2wqAADYJtb7TYnvr6qDSd6QpJL8aHc/sOhkAACwDaz7so1VQItoAABYY73XUAMAAMchqAEAYEBQAwDAgKAGAIABQQ0AAAOCGgAABgQ1AAAMCGoAABgQ1AAAMCCoAQBgQFADAMCAoAYAgAFBDQAAA4IaAAAGBDUAAAwIagAAGBDUAAAwIKgBAGBAUAMAwICgBgCAAUENAAADghoAAAYENQAADJy21QOcrP76v3z/Vo8AY/f80k9s9QgAcMpzhhoAAAYENQAADAhqAAAYENQAADAgqAEAYEBQAwDAgKAGAIABQQ0AAAOCGgAABgQ1AAAMCGoAABhYLKir6sKq+mhVPVhV91fVW1frZ1XVnVX1hdXjmWuOuamqDlXVQ1X1pqVmAwCAjbLkGeqnk/zz7v6rSb4vyQ1VdUmSG5Mc6O49SQ6snmf12rVJLk1yZZJ3V9WuBecDAICxxYK6ux/r7k+vtr+e5MEk5ye5Ksktq91uSXL1avuqJLd291Pd/aUkh5JcvtR8AACwETblGuqquijJ65PcleTc7n4sORbdSc5Z7XZ+kkfWHHZ4tfbc97q+qg5W1cGjR48uOTYAALyoxYO6ql6V5PYkb+vur73QrsdZ6+ctdN/c3Xu7e+/u3bs3akwAAHhJFg3qqjo9x2L6A939wdXy41V13ur185IcWa0fTnLhmsMvSPLokvMBAMDUknf5qCTvSfJgd//ympfuSLJvtb0vyYfXrF9bVWdU1cVJ9iS5e6n5AABgI5y24HtfkeTHk3y2qu5drf1sknckua2qrkvycJJrkqS776+q25I8kGN3CLmhu59ZcD4AABhbLKi7+w9z/Ouik+SNJzhmf5L9S80EAAAbzTclAgDAgKAGAIABQQ0AAAOCGgAABgQ1AAAMCGoAABgQ1AAAMCCoAQBgQFADAMDAkl89DvAte/gX/9pWjwBjf/HnPrvVIwCbyBlqAAAYENQAADAgqAEAYEBQAwDAgKAGAIABQQ0AAAOCGgAABgQ1AAAMCGoAABgQ1AAAMCCoAQBgQFADAMCAoAYAgAFBDQAAA4IaAAAGBDUAAAwIagAAGBDUAAAwIKgBAGBAUAMAwICgBgCAAUENAAADghoAAAYENQAADAhqAAAYENQAADAgqAEAYEBQAwDAgKAGAIABQQ0AAAOCGgAABgQ1AAAMCGoAABgQ1AAAMCCoAQBgQFADAMCAoAYAgAFBDQAAA4IaAAAGBDUAAAwIagAAGBDUAAAwIKgBAGBAUAMAwICgBgCAAUENAAADghoAAAYENQAADAhqAAAYENQAADAgqAEAYEBQAwDAgKAGAIABQQ0AAAOCGgAABgQ1AAAMCGoAABgQ1AAAMCCoAQBgQFADAMCAoAYAgAFBDQAAA4IaAAAGBDUAAAwIagAAGBDUAAAwIKgBAGBAUAMAwICgBgCAAUENAAADghoAAAYENQAADAhqAAAYENQAADAgqAEAYEBQAwDAwGJBXVXvraojVfW5NWtnVdWdVfWF1eOZa167qaoOVdVDVfWmpeYCAICNtOQZ6vclufI5azcmOdDde5IcWD1PVV2S5Nokl66OeXdV7VpwNgAA2BCLBXV3fzzJV56zfFWSW1bbtyS5es36rd39VHd/KcmhJJcvNRsAAGyUzb6G+tzufixJVo/nrNbPT/LImv0Or9aep6qur6qDVXXw6NGjiw4LAAAv5mT5o8Q6zlofb8fuvrm793b33t27dy88FgAAvLDNDurHq+q8JFk9HlmtH05y4Zr9Lkjy6CbPBgAA37LNDuo7kuxbbe9L8uE169dW1RlVdXGSPUnu3uTZAADgW3baUm9cVb+Z5PuTnF1Vh5P8fJJ3JLmtqq5L8nCSa5Kku++vqtuSPJDk6SQ3dPczS80GAAAbZbGg7u4fO8FLbzzB/vuT7F9qHgAAWMLJ8keJAACwLQlqAAAYENQAADAgqAEAYEBQAwDAgKAGAIABQQ0AAAOCGgAABgQ1AAAMCGoAABgQ1AAAMCCoAQBgQFADAMCAoAYAgAFBDQAAA4IaAAAGBDUAAAwIagAAGBDUAAAwIKgBAGBAUAMAwICgBgCAAUENAAADghoAAAYENQAADAhqAAAYENQAADAgqAEAYEBQAwDAgKAGAIABQQ0AAAOCGgAABgQ1AAAMCGoAABgQ1AAAMCCoAQBgQFADAMCAoAYAgAFBDQAAA4IaAAAGBDUAAAwIagAAGBDUAAAwIKgBAGBAUAMAwICgBgCAAUENAAADghoAAAYENQAADAhqAAAYENQAADAgqAEAYEBQAwDAgKAGAIABQQ0AAAOCGgAABgQ1AAAMCGoAABgQ1AAAMCCoAQBgQFADAMCAoAYAgAFBDQAAA4IaAAAGBDUAAAwIagAAGBDUAAAwIKgBAGBAUAMAwICgBgCAAUENAAADghoAAAYENQAADAhqAAAYENQAADAgqAEAYEBQAwDAgKAGAIABQQ0AAAOCGgAABgQ1AAAMCGoAABgQ1AAAMCCoAQBgQFADAMDASRfUVXVlVT1UVYeq6satngcAAF7ISRXUVbUrya8m+cEklyT5saq6ZGunAgCAEzupgjrJ5UkOdfcXu/vPk9ya5KotngkAAE7oZAvq85M8sub54dUaAACclE7b6gGeo46z1t+0Q9X1Sa5fPX2yqh5afCqWcnaSJ7Z6iFNZvXPfVo/Ayclnb2k/f7z/nIHP3maof7bY5++7TvTCyRbUh5NcuOb5BUkeXbtDd9+c5ObNHIplVNXB7t671XPATuOzB1vDZ+/UdbJd8vGpJHuq6uKqenmSa5PcscUzAQDACZ1UZ6i7++mq+qdJfjfJriTv7e77t3gsAAA4oZMqqJOku387yW9v9RxsCpfuwNbw2YOt4bN3iqrufvG9AACA4zrZrqEGAIBtRVCz6arqvVV1pKo+t9WzwE5SVRdW1Uer6sGqur+q3rrVM8FOUFWvqKq7q+q+1WfvF7Z6JjaWSz7YdFX1t5I8meT93f26rZ4HdoqqOi/Jed396ap6dZJ7klzd3Q9s8WhwSquqSvLt3f1kVZ2e5A+TvLW7/2iLR2ODOEPNpuvujyf5ylbPATtNdz/W3Z9ebX89yYPxbbSwuD7mydXT01c/zmieQgQ1wA5UVRcleX2Su7Z2EtgZqmpXVd2b5EiSO7vbZ+8UIqgBdpiqelWS25O8rbu/ttXzwE7Q3c9092U59i3Ql1eVSx5PIYIaYAdZXb95e5IPdPcHt3oe2Gm6+6tJPpbkyi0ehQ0kqAF2iNUfRr0nyYPd/ctbPQ/sFFW1u6peu9p+ZZIfSPL5rZ2KjSSo2XRV9ZtJPpnkr1TV4aq6bqtngh3iiiQ/nuQNVXXv6ueHtnoo2AHOS/LRqvpMkk/l2DXUH9nimdhAbpsHAAADzlADAMCAoAYAgAFBDQAAA4IaAAAGBDUAAAwIaoBtqqqeWd367nNV9V+q6tteYN+3V9W/2Mz5AHYKQQ2wfX2juy/r7tcl+fMkP73VAwHsRIIa4NTwB0n+cpJU1U9U1Weq6r6q+vXn7lhVP1VVn1q9fvuzZ7ar6prV2e77qurjq7VLq+ru1Znwz1TVnk39rQC2AV/sArBNVdWT3f2qqjotye1JfifJx5N8MMkV3f1EVZ3V3V+pqrcnebK731lV39HdX169x79L8nh3v6uqPpvkyu7+n1X12u7+alW9K8kfdfcHqurlSXZ19ze25BcGOEk5Qw2wfb2yqu5NcjDJw0nek+QNSX6ru59Iku7+ynGOe11V/cEqoP9BkktX659I8r6q+qkku1Zrn0zys1X1r5N8l5gGeL7TtnoAAF6yb3T3ZWsXqqqSvNj/enxfkqu7+76q+skk358k3f3TVfU3kvxwknur6rLu/o2qumu19rtV9Y+7+/c2+PcA2NacoQY4tRxI8uaq+o4kqaqzjrPPq5M8VlWn59gZ6qz2/e7uvqu7fy7JE0kurKq/lOSL3f0fk9yR5HsW/w0AthlnqAFOId19f1XtT/L7VfVMkj9O8pPP2e3fJLkryZ8m+WyOBXaS/NLqjw4rx8L8viQ3JnlLVf2fJH+W5BcX/yUAthl/lAgAAAMu+QAAgAFBDQAAA4IaAAAGBDUAAAwIagAAGBDUAAAwIKgBAGBAUAMAwMD/A2paFqdhu2pXAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 864x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Pclass</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>491</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>216</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>184</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Pclass\n",
       "3     491\n",
       "1     216\n",
       "2     184"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<h4>3.2.3 Sex分布</h4>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Sex</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>male</th>\n",
       "      <td>577</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>female</th>\n",
       "      <td>314</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        Sex\n",
       "male    577\n",
       "female  314"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<h4>3.2.4 Age分布</h4>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Age</th>\n",
       "      <td>714.0</td>\n",
       "      <td>29.699118</td>\n",
       "      <td>14.526497</td>\n",
       "      <td>0.42</td>\n",
       "      <td>20.125</td>\n",
       "      <td>28.0</td>\n",
       "      <td>38.0</td>\n",
       "      <td>80.0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     count       mean        std   min     25%   50%   75%   max\n",
       "Age  714.0  29.699118  14.526497  0.42  20.125  28.0  38.0  80.0"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<h4>3.2.5 SibSp分布</h4>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>SibSp</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>608</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>209</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   SibSp\n",
       "0    608\n",
       "1    209\n",
       "2     28\n",
       "4     18\n",
       "3     16\n",
       "8      7\n",
       "5      5"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<h4>3.2.6 Parch分布</h4>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Parch</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>678</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>118</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>80</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "   Parch\n",
       "0    678\n",
       "1    118\n",
       "2     80\n",
       "5      5\n",
       "3      5\n",
       "4      4\n",
       "6      1"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<h4>3.2.7 Fare分布</h4>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>count</th>\n",
       "      <th>mean</th>\n",
       "      <th>std</th>\n",
       "      <th>min</th>\n",
       "      <th>25%</th>\n",
       "      <th>50%</th>\n",
       "      <th>75%</th>\n",
       "      <th>max</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Fare</th>\n",
       "      <td>891.0</td>\n",
       "      <td>32.204208</td>\n",
       "      <td>49.693429</td>\n",
       "      <td>0.0</td>\n",
       "      <td>7.9104</td>\n",
       "      <td>14.4542</td>\n",
       "      <td>31.0</td>\n",
       "      <td>512.3292</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "      count       mean        std  min     25%      50%   75%       max\n",
       "Fare  891.0  32.204208  49.693429  0.0  7.9104  14.4542  31.0  512.3292"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<h4>3.2.8 Cabin分布</h4>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Cabin</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>NaN</th>\n",
       "      <td>687</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B96 B98</th>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C23 C25 C27</th>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>G6</th>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C22 C26</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E101</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>F2</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>F33</th>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B22</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B49</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B20</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E25</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B57 B59 B63 B66</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B51 B53 B55</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B5</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D26</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>F G73</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C123</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D17</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D36</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C125</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B77</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B28</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C52</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C65</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C93</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C126</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C68</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D35</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>F4</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D20</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C2</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D33</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E121</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B18</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C124</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E67</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E44</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B58 B60</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C78</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C83</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B35</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E24</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C92</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E33</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E8</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C118</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A6</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A14</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C101</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D56</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B39</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A26</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E58</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E63</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C45</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A5</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B94</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>F38</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E49</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E17</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C46</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A31</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C90</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A36</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>F E69</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D28</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E12</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C91</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B69</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D37</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D7</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D6</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B73</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C47</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C110</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B82 B84</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B37</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D15</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A10</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C111</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B71</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B86</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B41</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B78</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C95</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D47</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D10 D12</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C99</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D49</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B102</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C70</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C87</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A23</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E77</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B3</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D48</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E31</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B30</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A19</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E46</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A20</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E50</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C128</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B42</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C103</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C54</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D50</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C32</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C49</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B4</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E36</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B101</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E34</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C86</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C85</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E38</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A32</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B79</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>F G63</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E68</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D9</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D11</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B50</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C7</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>T</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C104</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A34</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C30</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A16</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D19</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C148</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C82</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C106</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D45</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B80</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D30</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C50</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A7</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C62 C64</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E40</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D21</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B38</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D46</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A24</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E10</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B19</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                 Cabin\n",
       "NaN                687\n",
       "B96 B98              4\n",
       "C23 C25 C27          4\n",
       "G6                   4\n",
       "C22 C26              3\n",
       "D                    3\n",
       "E101                 3\n",
       "F2                   3\n",
       "F33                  3\n",
       "B22                  2\n",
       "B49                  2\n",
       "B20                  2\n",
       "E25                  2\n",
       "B57 B59 B63 B66      2\n",
       "B51 B53 B55          2\n",
       "B5                   2\n",
       "D26                  2\n",
       "F G73                2\n",
       "C123                 2\n",
       "D17                  2\n",
       "D36                  2\n",
       "C125                 2\n",
       "B77                  2\n",
       "B28                  2\n",
       "C52                  2\n",
       "C65                  2\n",
       "C93                  2\n",
       "C126                 2\n",
       "C68                  2\n",
       "D35                  2\n",
       "F4                   2\n",
       "D20                  2\n",
       "C2                   2\n",
       "D33                  2\n",
       "E121                 2\n",
       "B18                  2\n",
       "C124                 2\n",
       "E67                  2\n",
       "E44                  2\n",
       "B58 B60              2\n",
       "C78                  2\n",
       "C83                  2\n",
       "B35                  2\n",
       "E24                  2\n",
       "C92                  2\n",
       "E33                  2\n",
       "E8                   2\n",
       "C118                 1\n",
       "A6                   1\n",
       "A14                  1\n",
       "C101                 1\n",
       "D56                  1\n",
       "B39                  1\n",
       "A26                  1\n",
       "E58                  1\n",
       "E63                  1\n",
       "C45                  1\n",
       "A5                   1\n",
       "B94                  1\n",
       "F38                  1\n",
       "E49                  1\n",
       "E17                  1\n",
       "C46                  1\n",
       "A31                  1\n",
       "C90                  1\n",
       "A36                  1\n",
       "F E69                1\n",
       "D28                  1\n",
       "E12                  1\n",
       "C91                  1\n",
       "B69                  1\n",
       "D37                  1\n",
       "D7                   1\n",
       "D6                   1\n",
       "B73                  1\n",
       "C47                  1\n",
       "C110                 1\n",
       "B82 B84              1\n",
       "B37                  1\n",
       "D15                  1\n",
       "A10                  1\n",
       "C111                 1\n",
       "B71                  1\n",
       "B86                  1\n",
       "B41                  1\n",
       "B78                  1\n",
       "C95                  1\n",
       "D47                  1\n",
       "D10 D12              1\n",
       "C99                  1\n",
       "D49                  1\n",
       "B102                 1\n",
       "C70                  1\n",
       "C87                  1\n",
       "A23                  1\n",
       "E77                  1\n",
       "B3                   1\n",
       "D48                  1\n",
       "E31                  1\n",
       "B30                  1\n",
       "A19                  1\n",
       "E46                  1\n",
       "A20                  1\n",
       "E50                  1\n",
       "C128                 1\n",
       "B42                  1\n",
       "C103                 1\n",
       "C54                  1\n",
       "D50                  1\n",
       "C32                  1\n",
       "C49                  1\n",
       "B4                   1\n",
       "E36                  1\n",
       "B101                 1\n",
       "E34                  1\n",
       "C86                  1\n",
       "C85                  1\n",
       "E38                  1\n",
       "A32                  1\n",
       "B79                  1\n",
       "F G63                1\n",
       "E68                  1\n",
       "D9                   1\n",
       "D11                  1\n",
       "B50                  1\n",
       "C7                   1\n",
       "T                    1\n",
       "C104                 1\n",
       "A34                  1\n",
       "C30                  1\n",
       "A16                  1\n",
       "D19                  1\n",
       "C148                 1\n",
       "C82                  1\n",
       "C106                 1\n",
       "D45                  1\n",
       "B80                  1\n",
       "D30                  1\n",
       "C50                  1\n",
       "A7                   1\n",
       "C62 C64              1\n",
       "E40                  1\n",
       "D21                  1\n",
       "B38                  1\n",
       "D46                  1\n",
       "A24                  1\n",
       "E10                  1\n",
       "B19                  1"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<h4>3.2.9 Embarked分布</h4>"
      ],
      "text/plain": [
       "<IPython.core.display.HTML object>"
      ]
     },
     "metadata": {},
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>S</th>\n",
       "      <td>644</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C</th>\n",
       "      <td>168</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Q</th>\n",
       "      <td>77</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NaN</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "     Embarked\n",
       "S         644\n",
       "C         168\n",
       "Q          77\n",
       "NaN         2"
      ]
     },
     "execution_count": 9,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "vars = ['Survived', 'Pclass', 'Sex', 'Age', 'SibSp', 'Parch', 'Fare', 'Cabin', 'Embarked']\n",
    "for i in range(len(vars)):\n",
    "    display(HTML('<h4>3.2.%d %s分布</h4>' % (i+1, vars[i])))\n",
    "    if (train[vars[i]].dtype=='int') and (train[vars[i]].nunique()<10):\n",
    "        train[vars[i]] = train[vars[i]].astype('category')\n",
    "    describe_var(vars[i])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 3.3 单因素相关性"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 10,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/madlogos/anaconda3/lib/python3.7/site-packages/seaborn/distributions.py:369: UserWarning: Default bandwidth for data is 0; skipping density estimation.\n",
      "  warnings.warn(msg, UserWarning)\n"
     ]
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 951.875x900 with 30 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.pairplot(train[vars], hue='Survived');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "构造一个`univar_test()`函数，遍历变量，与Survived做单因素检验。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 11,
   "metadata": {},
   "outputs": [],
   "source": [
    "def univar_test(var:str, df:pd.DataFrame=train):\n",
    "    \"\"\"Test the correlation of var with Survived\n",
    "    \"\"\"\n",
    "    if df[var].dtype in ('float',):\n",
    "        mtd = 'anova'\n",
    "        o = f_oneway(df[var][df['Survived']==0].dropna(),\n",
    "                     df[var][df['Survived']==1].dropna())\n",
    "    elif df[var].dtype in ('int', 'O', 'category'):\n",
    "        mtd = 'chi2'\n",
    "        o = chi2_contingency(\n",
    "            pd.crosstab(train[var], train['Survived']).to_numpy())\n",
    "    return {'var': var, 'method': mtd, 'stat': o[0], 'p-value': o[1]}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 12,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>var</th>\n",
       "      <th>method</th>\n",
       "      <th>stat</th>\n",
       "      <th>p-value</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Pclass</td>\n",
       "      <td>chi2</td>\n",
       "      <td>102.888989</td>\n",
       "      <td>4.549252e-23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Sex</td>\n",
       "      <td>chi2</td>\n",
       "      <td>260.717020</td>\n",
       "      <td>1.197357e-58</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Age</td>\n",
       "      <td>anova</td>\n",
       "      <td>4.271195</td>\n",
       "      <td>3.912465e-02</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>SibSp</td>\n",
       "      <td>chi2</td>\n",
       "      <td>37.271793</td>\n",
       "      <td>1.558581e-06</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Parch</td>\n",
       "      <td>chi2</td>\n",
       "      <td>27.925784</td>\n",
       "      <td>9.703526e-05</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>Fare</td>\n",
       "      <td>anova</td>\n",
       "      <td>63.030764</td>\n",
       "      <td>6.120189e-15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>Embarked</td>\n",
       "      <td>chi2</td>\n",
       "      <td>26.489150</td>\n",
       "      <td>1.769922e-06</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "        var method        stat       p-value\n",
       "0    Pclass   chi2  102.888989  4.549252e-23\n",
       "1       Sex   chi2  260.717020  1.197357e-58\n",
       "2       Age  anova    4.271195  3.912465e-02\n",
       "3     SibSp   chi2   37.271793  1.558581e-06\n",
       "4     Parch   chi2   27.925784  9.703526e-05\n",
       "5      Fare  anova   63.030764  6.120189e-15\n",
       "6  Embarked   chi2   26.489150  1.769922e-06"
      ]
     },
     "execution_count": 12,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "uni_test = []\n",
    "for var in vars:\n",
    "    if not var in ['Survived', 'Cabin']:\n",
    "        uni_test.append(univar_test(var))\n",
    "pd.DataFrame(uni_test)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "仅看单因素分析的结果，基本上所有特征都与生存结局有关联。\n",
    "\n",
    "部分变量含义不明确，单独探查一下。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (1) `SibSp`和`Parch`"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 13,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>Parch</th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>4</th>\n",
       "      <th>5</th>\n",
       "      <th>6</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SibSp</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>537</td>\n",
       "      <td>38</td>\n",
       "      <td>29</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>123</td>\n",
       "      <td>57</td>\n",
       "      <td>19</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>16</td>\n",
       "      <td>7</td>\n",
       "      <td>4</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>2</td>\n",
       "      <td>7</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>9</td>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Parch    0   1   2  3  4  5  6\n",
       "SibSp                         \n",
       "0      537  38  29  1  1  2  0\n",
       "1      123  57  19  3  3  3  1\n",
       "2       16   7   4  1  0  0  0\n",
       "3        2   7   7  0  0  0  0\n",
       "4        0   9   9  0  0  0  0\n",
       "5        0   0   5  0  0  0  0\n",
       "8        0   0   7  0  0  0  0"
      ]
     },
     "execution_count": 13,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.crosstab(train['SibSp'], train['Parch'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 14,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Stat: 341.681987, p-value: 0.000000\n"
     ]
    }
   ],
   "source": [
    "print(\n",
    "    'Stat: %.6f, p-value: %.6f' % \n",
    "    chi2_contingency(pd.crosstab(train['SibSp'], train['Parch']).to_numpy())[:2])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`SibSp`和`Parch`有很强的正自相关性，对模型性能可能带来损害。可以考虑合并。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (2) `Fare`和`Age`、`Pclass`、`Embarked`\n",
    "\n",
    "基于常识，费用和年龄、舱位级别、登船地点可能存在自相关。但从上面的pairplot来看，`Fare`和`Age`、`Pclass`的关联不大。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 15,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAtQAAAIWCAYAAAB3DRpPAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nO3df5TdZ30f+Pdz586MRhrZkmWNYltQO61jx7CGWAOVoadpSJvQDcRp+RHvWovDySLb0JxsTjclNEtJl81uCKfNbmktY9qCUzlgB0phaTYJdUrSEihIDnFjx7+KMVZNLWFs7JHlmblzn/1Do0Fjj35cfzW691qv1zk69873fu/cj6/P+d73PPfzPE+ptQYAAHhhWv0uAAAAhplADQAADQjUAADQgEANAAANCNQAANCAQA0AAA20+11AE+eee2698MIL+10GAAAvcnv37v12rXXzSo8NdaC+8MILs2fPnn6XAQDAi1wp5eFjPablAwAAGhCoAQCgAYEaAAAaEKgBAKABgRoAABoQqAEAoAGBGgAAGhCoAQCgAYEaAAAaEKgBAKABgRoAABoQqAEAoAGBGgAAGhCoAQCgAYEaAAAaEKgBAKABgRoAABpo97sAAE6P+fmF7J+ZTadb026VTE2OZ3R0pN9lAQw9gRrgDDA/v5B798/kht17s++JQ9m6cSK7dmzLpVOTQjVAQ1o+AM4A+2dml8J0kux74lBu2L03+2dm+1wZwPATqAHOAJ1uXQrTR+x74lA63dqnigBePARqgDNAu1WydePEsmNbN06k3Sp9qgjgxUOgBjgDTE2OZ9eObUuh+kgP9dTkeJ8rAxh+JiUCnAFGR0dy6dRkbtu53SofAKeYQA1whhgdHckFG9f2uwyAFx0tHwAA0IBADQAADaxqoC6lfKOU8p9LKV8rpexZPHZOKeXzpZQHFm83HnX+e0opD5ZS7iul/Phq1gYAAKfC6Rih/pFa6ytrrdOLP/9SkjtqrRcnuWPx55RSLktydZKXJXl9khtLKWbLAAAw0PrR8nFVklsW79+S5KeOOv6JWutsrfWhJA8meXUf6gMAgJO22oG6Jvn9UsreUsrOxWNbaq3fSpLF26nF4xckeeSo5+5bPAYAAANrtZfNe22t9dFSylSSz5dS7j3OuStt1/W8PXEXg/nOJHnpS196aqoEAIAXaFVHqGutjy7e7k/y6Rxu4XislHJekize7l88fV+Slxz19K1JHl3hd95ca52utU5v3rx5NcsHAIATWrVAXUpZV0pZf+R+kh9L8mdJPpvk2sXTrk3ymcX7n01ydSllvJRyUZKLk3xlteoDAIBTYTVbPrYk+XQp5cjr/Fat9XdLKV9Ncnsp5WeTfDPJW5Kk1np3KeX2JPck6SR5V611YRXrAwCAxlYtUNdav57kFSscfzzJjx7jOb+a5FdXqyYAADjV7JQIAAANCNQAANCAQA0AAA0I1AAA0IBADQAADQjUAADQgEANAAANCNQAANCAQA0AAA0I1AAA0IBADQAADQjUAADQgEANAAANCNQAANCAQA0AAA0I1AAA0IBADQAADQjUAADQgEANAAANCNQAANCAQA0AAA0I1AAA0IBADQAADQjUAADQgEANAAANCNQAANCAQA0AAA0I1AAA0IBADQAADQjUAADQgEANAAANCNQAANCAQA0AAA0I1AAA0IBADQAADQjUAADQgEANAAANCNQAANCAQA0AAA0I1AAA0IBADQAADQjUAADQgEANAAANCNQAANCAQA0AAA0I1AAA0IBADQAADQjUAADQgEANAAANCNQAANCAQA0AAA0I1AAA0IBADQAADQjUAADQgEANAAANCNQAANCAQA0AAA0I1AAA0IBADQAADQjUAADQgEANAAANCNQAANCAQA0AAA0I1AAA0IBADQAADQjUAADQgEANAAANCNQAANCAQA0AAA0I1AAA0IBADQAADQjUAADQgEANAAANCNQAANCAQA0AAA0I1AAA0IBADQAADQjUAADQwKoH6lLKSCnlT0opn1v8+ZxSyudLKQ8s3m486tz3lFIeLKXcV0r58dWuDQAAmjodI9Q/n+TPj/r5l5LcUWu9OMkdiz+nlHJZkquTvCzJ65PcWEoZOQ31AQDAC7aqgbqUsjXJTyT550cdvirJLYv3b0nyU0cd/0StdbbW+lCSB5O8ejXrAwCAplZ7hPr/TvL3knSPOral1vqtJFm8nVo8fkGSR446b9/isWVKKTtLKXtKKXsOHDiwOlUDAMBJWrVAXUp5Q5L9tda9J/uUFY7V5x2o9eZa63StdXrz5s2NagQAgKbaq/i7X5vkJ0sp/32SNUnOKqXsTvJYKeW8Wuu3SinnJdm/eP6+JC856vlbkzy6ivUB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\n",
      "text/plain": [
       "<Figure size 864x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.scatterplot(train['Embarked'], train['Fare']);"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由上图来看，`Fare`和`Embarked`的关联也不大。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 4. 特征工程"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "需要填补缺失值，抽取/构造特征，用于建模。特征工程的步骤写进pipeline，以便在测试集上复用。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4.1 缺失填补\n",
    "\n",
    "缺失值填补有很多方法，简单均数、分组均数、众数或监督学习都有应用。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (1) 登船地\n",
    "\n",
    "登船地有少数缺失。假定舱位和船票保留了登船地的某些信息，可以分组求出众数来填补。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 16,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Embarked</th>\n",
       "      <th>C</th>\n",
       "      <th>Q</th>\n",
       "      <th>S</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Cabin</th>\n",
       "      <th>Ticket</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th rowspan=\"6\" valign=\"top\">A</th>\n",
       "      <th>11</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PC</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"9\" valign=\"top\">B</th>\n",
       "      <th>11</th>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>12</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>F.</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PC</th>\n",
       "      <td>13</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>WE</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"5\" valign=\"top\">C</th>\n",
       "      <th>11</th>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>5</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PC</th>\n",
       "      <td>10</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"10\" valign=\"top\">D</th>\n",
       "      <th>11</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PC</th>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SC</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"14\" valign=\"top\">E</th>\n",
       "      <th>11</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>13</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>57</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PC</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>S.</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SO</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>W.</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"6\" valign=\"top\">F</th>\n",
       "      <th>23</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C.</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"2\" valign=\"top\">G</th>\n",
       "      <th>34</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PP</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>T</th>\n",
       "      <th>11</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th rowspan=\"53\" valign=\"top\">U</th>\n",
       "      <th>11</th>\n",
       "      <td>3</td>\n",
       "      <td>0</td>\n",
       "      <td>16</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>12</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>14</th>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>16</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>17</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>19</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>20</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>21</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>22</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>23</th>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>28</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>24</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>24</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>25</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>26</th>\n",
       "      <td>56</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>27</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>28</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>29</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>31</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>37</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>32</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>33</th>\n",
       "      <td>0</td>\n",
       "      <td>15</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>34</th>\n",
       "      <td>8</td>\n",
       "      <td>0</td>\n",
       "      <td>118</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>35</th>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>20</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>36</th>\n",
       "      <td>0</td>\n",
       "      <td>24</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>37</th>\n",
       "      <td>0</td>\n",
       "      <td>15</td>\n",
       "      <td>10</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>38</th>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>39</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>41</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>45</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>54</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>65</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>69</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>72</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>75</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>84</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>92</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A.</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A/</th>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>23</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>A4</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C.</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>26</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CA</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>14</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>F.</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>5</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Fa</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LI</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>P/</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PC</th>\n",
       "      <td>15</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>PP</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>S.</th>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>11</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SC</th>\n",
       "      <td>9</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SO</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>17</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ST</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>18</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SW</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>W.</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>9</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>W/</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Embarked       C   Q    S\n",
       "Cabin Ticket             \n",
       "A     11       2   0    5\n",
       "      13       2   0    0\n",
       "      17       1   0    0\n",
       "      27       0   0    1\n",
       "      33       0   0    1\n",
       "      PC       2   0    1\n",
       "B     11       6   0   12\n",
       "      12       0   0    2\n",
       "      13       3   0    0\n",
       "      17       0   0    2\n",
       "      24       0   0    3\n",
       "      69       0   0    1\n",
       "      F.       0   0    1\n",
       "      PC      13   0    0\n",
       "      WE       0   0    2\n",
       "C     11       6   0   17\n",
       "      17       5   0    0\n",
       "      19       0   2   11\n",
       "      36       0   0    3\n",
       "      PC      10   0    5\n",
       "D     11       2   0    6\n",
       "      13       0   0    3\n",
       "      16       0   0    1\n",
       "      17       0   0    3\n",
       "      24       0   0    1\n",
       "      28       0   0    1\n",
       "      35       3   0    2\n",
       "      36       2   0    2\n",
       "      PC       4   0    1\n",
       "      SC       2   0    0\n",
       "E     11       1   0    9\n",
       "      13       0   0    3\n",
       "      16       2   0    0\n",
       "      17       0   0    1\n",
       "      19       0   0    1\n",
       "      22       0   1    0\n",
       "      27       0   0    1\n",
       "      34       0   0    1\n",
       "      39       0   0    2\n",
       "      57       0   0    1\n",
       "      PC       2   0    4\n",
       "      S.       0   0    1\n",
       "      SO       0   0    1\n",
       "      W.       0   0    1\n",
       "F     23       0   0    5\n",
       "      24       0   0    1\n",
       "      26       1   0    0\n",
       "      34       0   0    3\n",
       "      38       0   1    0\n",
       "      C.       0   0    2\n",
       "G     34       0   0    2\n",
       "      PP       0   0    2\n",
       "T     11       0   0    1\n",
       "U     11       3   0   16\n",
       "      12       0   1    1\n",
       "      14       0   3    1\n",
       "      16       0   0    7\n",
       "      17       1   0    0\n",
       "      19       0   0    2\n",
       "      20       0   0    1\n",
       "      21       0   1    3\n",
       "      22       0   0    8\n",
       "      23       2   1   28\n",
       "      24       0   0   24\n",
       "      25       0   0   14\n",
       "      26      56   0    3\n",
       "      27       1   0    1\n",
       "      28       0   0   11\n",
       "      29       0   0   14\n",
       "      31       0   0   37\n",
       "      32       0   0    3\n",
       "      33       0  15    0\n",
       "      34       8   0  118\n",
       "      35       0   2   20\n",
       "      36       0  24   15\n",
       "      37       0  15   10\n",
       "      38       0   8    1\n",
       "      39       0   1    2\n",
       "      41       0   0    9\n",
       "      45       0   0    1\n",
       "      54       0   0    2\n",
       "      65       0   0    4\n",
       "      69       0   0    1\n",
       "      72       0   0    1\n",
       "      75       0   0    8\n",
       "      84       0   0    2\n",
       "      92       0   1    0\n",
       "      A.       0   0    4\n",
       "      A/       0   1   23\n",
       "      A4       0   0    1\n",
       "      C        0   0    5\n",
       "      C.       0   0   26\n",
       "      CA       0   0   14\n",
       "      F.       0   0    5\n",
       "      Fa       0   0    1\n",
       "      LI       0   0    4\n",
       "      P/       2   0    0\n",
       "      PC      15   0    3\n",
       "      PP       0   0    1\n",
       "      S.       2   0   11\n",
       "      SC       9   0    3\n",
       "      SO       0   0   17\n",
       "      ST       0   0   18\n",
       "      SW       0   0    1\n",
       "      W.       0   0    9\n",
       "      W/       0   0    1"
      ]
     },
     "execution_count": 16,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.crosstab([train.Cabin.fillna('U').str.slice(0,1),\n",
    "             train.Ticket.str.slice(0, 2)], train.Embarked)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "由上表，多数情况下组合是有良好区分度的。构造一个填补函数，利用分箱众数填补`Embarked`，试运行一下，填补完整。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 17,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Ticket</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Cabin</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [PassengerId, Survived, Pclass, Name, Sex, Age, SibSp, Parch, Ticket, Fare, Cabin, Embarked]\n",
       "Index: []"
      ]
     },
     "execution_count": 17,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def imp_embark(df:pd.DataFrame=train, inplace:bool=False) -> pd.DataFrame:\n",
    "    o = df if inplace else df.copy()\n",
    "    \n",
    "    a = df[['Embarked', 'Ticket', 'Cabin']].copy()\n",
    "    a['Cabin'] = a['Cabin'].fillna('U').str.slice(0, 1)\n",
    "    a['Ticket'] = a['Ticket'].fillna('NA').str.slice(0, 2)\n",
    "    a['idx'] = list(zip(a['Cabin'], a['Ticket']))\n",
    "    \n",
    "    a_sub = a.dropna(subset=['Embarked'])\n",
    "    dct = pd.crosstab([a_sub['Cabin'], a_sub['Ticket']], a_sub['Embarked'])\n",
    "    dct['mode'] = dct.idxmax(axis=1, skipna=True)\n",
    "    dct = dct['mode'].to_dict()\n",
    "\n",
    "    a['emb'] = a['idx'].map(dct)\n",
    "    a.loc[a['Embarked'].isna(), 'Embarked'] = a.loc[a['Embarked'].isna(), 'emb']\n",
    "    o['Embarked'] = a.reset_index()['Embarked']\n",
    "    if not inplace:\n",
    "        return o\n",
    "\n",
    "a = imp_embark(train)\n",
    "a[a['Embarked'].isna()]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (2) 年龄\n",
    "\n",
    "看一下Age信息完备的数据中，哪些特征与Age关联更高。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "姓名Name中有头衔信息，可以考虑抽取出来表征乘客的社会地位。它们基本都符合'^[^,]+, [a-z]*([A-Z][a-z]+)..+$'的特征。这属于特征抽取的范畴，但考虑头衔可以用于年龄填补，先在这里执行。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 18,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>0</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Mr</th>\n",
       "      <td>517</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Miss</th>\n",
       "      <td>182</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mrs</th>\n",
       "      <td>125</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Master</th>\n",
       "      <td>40</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Dr</th>\n",
       "      <td>7</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Rev</th>\n",
       "      <td>6</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mlle</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Col</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Major</th>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Countess</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mme</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Ms</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Don</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Lady</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Capt</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Sir</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Jonkheer</th>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "            0\n",
       "Mr        517\n",
       "Miss      182\n",
       "Mrs       125\n",
       "Master     40\n",
       "Dr          7\n",
       "Rev         6\n",
       "Mlle        2\n",
       "Col         2\n",
       "Major       2\n",
       "Countess    1\n",
       "Mme         1\n",
       "Ms          1\n",
       "Don         1\n",
       "Lady        1\n",
       "Capt        1\n",
       "Sir         1\n",
       "Jonkheer    1"
      ]
     },
     "execution_count": 18,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "pd.DataFrame(\n",
    "    train['Name']\n",
    "    .str.extract(r'^[^,]+, [a-z]* *([A-Z][a-z]+)\\..+$')[0]\n",
    "    .value_counts(dropna=False))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "构造字典，将title归并到'Mr', 'Mrs', 'Miss', 'Master', 'Noble' 5个水平。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 19,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Name</th>\n",
       "      <th>Title</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>Braund, Mr. Owen Harris</td>\n",
       "      <td>Mr</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>Cumings, Mrs. John Bradley (Florence Briggs Th...</td>\n",
       "      <td>Mrs</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>Heikkinen, Miss. Laina</td>\n",
       "      <td>Miss</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>Futrelle, Mrs. Jacques Heath (Lily May Peel)</td>\n",
       "      <td>Mrs</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>Allen, Mr. William Henry</td>\n",
       "      <td>Mr</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "                                                Name Title\n",
       "0                            Braund, Mr. Owen Harris    Mr\n",
       "1  Cumings, Mrs. John Bradley (Florence Briggs Th...   Mrs\n",
       "2                             Heikkinen, Miss. Laina  Miss\n",
       "3       Futrelle, Mrs. Jacques Heath (Lily May Peel)   Mrs\n",
       "4                           Allen, Mr. William Henry    Mr"
      ]
     },
     "execution_count": 19,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "title_dict = {\n",
    "    'Mr': 'Mr',\n",
    "    'Miss': 'Miss',\n",
    "    'Mrs': 'Mrs',\n",
    "    'Master': 'Master',\n",
    "    'Dr': 'Master',\n",
    "    'Rev': 'Master',\n",
    "    'Mlle': 'Miss',\n",
    "    'Major': 'Master',\n",
    "    'Col': 'Master',\n",
    "    'Ms': 'Mrs',\n",
    "    'Don': 'Noble',\n",
    "    'Dona': 'Noble',\n",
    "    'Lady': 'Noble',\n",
    "    'Jonkheer': 'Noble',\n",
    "    'Countess': 'Noble',\n",
    "    'Capt': 'Master',\n",
    "    'Mme': 'Mrs',\n",
    "    'Sir': 'Noble'}\n",
    "def enc_title(df:pd.DataFrame=train, title_dict:dict=title_dict, \n",
    "              inplace:bool=False) -> pd.DataFrame:\n",
    "    o = df if inplace else df.copy()\n",
    "    o['Title'] = o['Name'].str.extract(r'^[^,]+, [a-z]* *([A-Z][a-z]+)\\..+$')\n",
    "    o['Title'] = o['Title'].map(title_dict).fillna('NA')\n",
    "    if not inplace:\n",
    "        return o\n",
    "\n",
    "enc_title(train)[['Name', 'Title']].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 20,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Pclass_2</th>\n",
       "      <th>Pclass_3</th>\n",
       "      <th>Title_Miss</th>\n",
       "      <th>Title_Mr</th>\n",
       "      <th>Title_Mrs</th>\n",
       "      <th>Title_Noble</th>\n",
       "      <th>Sex_male</th>\n",
       "      <th>Embarked_Q</th>\n",
       "      <th>Embarked_S</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>22.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>38.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>26.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>35.0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>35.0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    Age SibSp Parch  Pclass_2  Pclass_3  Title_Miss  Title_Mr  Title_Mrs  \\\n",
       "0  22.0     1     0         0         1           0         1          0   \n",
       "1  38.0     1     0         0         0           0         0          1   \n",
       "2  26.0     0     0         0         1           1         0          0   \n",
       "3  35.0     1     0         0         0           0         0          1   \n",
       "4  35.0     0     0         0         1           0         1          0   \n",
       "\n",
       "   Title_Noble  Sex_male  Embarked_Q  Embarked_S  \n",
       "0            0         1           0           1  \n",
       "1            0         0           0           0  \n",
       "2            0         0           0           1  \n",
       "3            0         0           0           1  \n",
       "4            0         1           0           1  "
      ]
     },
     "execution_count": 20,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a = enc_title(imp_embark(train))\n",
    "b = pd.get_dummies(a[['Pclass', 'Title', 'Sex', 'Embarked']], drop_first=True)\n",
    "a = pd.merge(a[['Age', 'SibSp', 'Parch']], b, left_index=True, right_index=True)\n",
    "a.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 21,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<caption>OLS Regression Results</caption>\n",
       "<tr>\n",
       "  <th>Dep. Variable:</th>           <td>Age</td>       <th>  R-squared (uncentered):</th>      <td>   0.873</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Model:</th>                   <td>OLS</td>       <th>  Adj. R-squared (uncentered):</th> <td>   0.871</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Method:</th>             <td>Least Squares</td>  <th>  F-statistic:       </th>          <td>   438.0</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Date:</th>             <td>Tue, 30 Jun 2020</td> <th>  Prob (F-statistic):</th>          <td>7.50e-306</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Time:</th>                 <td>15:14:17</td>     <th>  Log-Likelihood:    </th>          <td> -2775.1</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>No. Observations:</th>      <td>   714</td>      <th>  AIC:               </th>          <td>   5572.</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Residuals:</th>          <td>   703</td>      <th>  BIC:               </th>          <td>   5622.</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Model:</th>              <td>    11</td>      <th>                     </th>              <td> </td>    \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Covariance Type:</th>      <td>nonrobust</td>    <th>                     </th>              <td> </td>    \n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "       <td></td>          <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>SibSp</th>       <td>   -2.9661</td> <td>    0.548</td> <td>   -5.417</td> <td> 0.000</td> <td>   -4.041</td> <td>   -1.891</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Parch</th>       <td>   -1.0169</td> <td>    0.592</td> <td>   -1.718</td> <td> 0.086</td> <td>   -2.179</td> <td>    0.145</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Pclass_2</th>    <td>   -9.7877</td> <td>    1.324</td> <td>   -7.393</td> <td> 0.000</td> <td>  -12.387</td> <td>   -7.188</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Pclass_3</th>    <td>  -13.9560</td> <td>    1.160</td> <td>  -12.035</td> <td> 0.000</td> <td>  -16.233</td> <td>  -11.679</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Title_Miss</th>  <td>   29.6758</td> <td>    1.420</td> <td>   20.894</td> <td> 0.000</td> <td>   26.887</td> <td>   32.464</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Title_Mr</th>    <td>   11.7680</td> <td>    1.911</td> <td>    6.159</td> <td> 0.000</td> <td>    8.017</td> <td>   15.519</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Title_Mrs</th>   <td>   43.6315</td> <td>    1.609</td> <td>   27.116</td> <td> 0.000</td> <td>   40.472</td> <td>   46.791</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Title_Noble</th> <td>   24.2587</td> <td>    5.441</td> <td>    4.459</td> <td> 0.000</td> <td>   13.577</td> <td>   34.940</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Sex_male</th>    <td>   28.4340</td> <td>    2.151</td> <td>   13.221</td> <td> 0.000</td> <td>   24.211</td> <td>   32.657</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Embarked_Q</th>  <td>    9.2089</td> <td>    2.566</td> <td>    3.589</td> <td> 0.000</td> <td>    4.171</td> <td>   14.247</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Embarked_S</th>  <td>    3.6684</td> <td>    1.223</td> <td>    2.999</td> <td> 0.003</td> <td>    1.267</td> <td>    6.070</td>\n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "  <th>Omnibus:</th>       <td>64.304</td> <th>  Durbin-Watson:     </th> <td>   1.905</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Prob(Omnibus):</th> <td> 0.000</td> <th>  Jarque-Bera (JB):  </th> <td>  81.368</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Skew:</th>          <td> 0.748</td> <th>  Prob(JB):          </th> <td>2.14e-18</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Kurtosis:</th>      <td> 3.706</td> <th>  Cond. No.          </th> <td>    19.7</td>\n",
       "</tr>\n",
       "</table><br/><br/>Warnings:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified."
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary.Summary'>\n",
       "\"\"\"\n",
       "                                 OLS Regression Results                                \n",
       "=======================================================================================\n",
       "Dep. Variable:                    Age   R-squared (uncentered):                   0.873\n",
       "Model:                            OLS   Adj. R-squared (uncentered):              0.871\n",
       "Method:                 Least Squares   F-statistic:                              438.0\n",
       "Date:                Tue, 30 Jun 2020   Prob (F-statistic):                   7.50e-306\n",
       "Time:                        15:14:17   Log-Likelihood:                         -2775.1\n",
       "No. Observations:                 714   AIC:                                      5572.\n",
       "Df Residuals:                     703   BIC:                                      5622.\n",
       "Df Model:                          11                                                  \n",
       "Covariance Type:            nonrobust                                                  \n",
       "===============================================================================\n",
       "                  coef    std err          t      P>|t|      [0.025      0.975]\n",
       "-------------------------------------------------------------------------------\n",
       "SibSp          -2.9661      0.548     -5.417      0.000      -4.041      -1.891\n",
       "Parch          -1.0169      0.592     -1.718      0.086      -2.179       0.145\n",
       "Pclass_2       -9.7877      1.324     -7.393      0.000     -12.387      -7.188\n",
       "Pclass_3      -13.9560      1.160    -12.035      0.000     -16.233     -11.679\n",
       "Title_Miss     29.6758      1.420     20.894      0.000      26.887      32.464\n",
       "Title_Mr       11.7680      1.911      6.159      0.000       8.017      15.519\n",
       "Title_Mrs      43.6315      1.609     27.116      0.000      40.472      46.791\n",
       "Title_Noble    24.2587      5.441      4.459      0.000      13.577      34.940\n",
       "Sex_male       28.4340      2.151     13.221      0.000      24.211      32.657\n",
       "Embarked_Q      9.2089      2.566      3.589      0.000       4.171      14.247\n",
       "Embarked_S      3.6684      1.223      2.999      0.003       1.267       6.070\n",
       "==============================================================================\n",
       "Omnibus:                       64.304   Durbin-Watson:                   1.905\n",
       "Prob(Omnibus):                  0.000   Jarque-Bera (JB):               81.368\n",
       "Skew:                           0.748   Prob(JB):                     2.14e-18\n",
       "Kurtosis:                       3.706   Cond. No.                         19.7\n",
       "==============================================================================\n",
       "\n",
       "Warnings:\n",
       "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
       "\"\"\""
      ]
     },
     "execution_count": 21,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# run the linear regression model\n",
    "b = a.dropna()\n",
    "X = b.drop('Age', axis=1).astype(float)\n",
    "reg = sm.OLS(b['Age'], X).fit()\n",
    "reg.summary()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "R^2为0.87，可以接受。构造一个填补函数，用上面的线性模型对缺失的`Age`进行填补。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 22,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>PassengerId</th>\n",
       "      <th>Survived</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Name</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Age</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>Ticket</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Cabin</th>\n",
       "      <th>Embarked</th>\n",
       "      <th>Title</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Empty DataFrame\n",
       "Columns: [PassengerId, Survived, Pclass, Name, Sex, Age, SibSp, Parch, Ticket, Fare, Cabin, Embarked, Title]\n",
       "Index: []"
      ]
     },
     "execution_count": 22,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def imp_age(df:pd.DataFrame=train, inplace:bool=False) -> pd.DataFrame:\n",
    "    # construct the data set\n",
    "    assert 'Title' in df.columns, \\\n",
    "        'Title is not found. Run enc_title() first.'\n",
    "    if df['Embarked'].isna().any():\n",
    "        warnings.warn('There are NAs in Embarked. Run imp_embark() first.')\n",
    "    a = df.copy()\n",
    "    b = pd.get_dummies(a[['Pclass', 'Title', 'Sex', 'Embarked']], drop_first=True)\n",
    "    a = pd.merge(a[['Age', 'SibSp', 'Parch']], b, left_index=True, right_index=True)\n",
    "    # split dataset\n",
    "    train = a[a['Age'].notna()]\n",
    "    test = a[a['Age'].isna()]\n",
    "    # model\n",
    "    X_train = train.drop('Age', axis=1).astype(float)\n",
    "    y_train = train['Age']\n",
    "    mdl = sm.OLS(y_train, X_train, missing='drop').fit()\n",
    "    # predict\n",
    "    X_test = test.drop('Age', axis=1).astype(float)\n",
    "    y_pred = mdl.predict(X_test)\n",
    "    # out\n",
    "    o = df if inplace else df.copy()\n",
    "    o.loc[o['Age'].isna(), 'Age'] = y_pred\n",
    "    if not inplace:\n",
    "        return o\n",
    "    \n",
    "a = imp_age(imp_embark(enc_title(train)))\n",
    "a[a['Age'].isna()]"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (3) 费用\n",
    "\n",
    "test中有Fare缺失。预计费用和年龄、舱等、登船地等因素有关。在train数据集中探查一下。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 23,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Age</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Pclass_2</th>\n",
       "      <th>Pclass_3</th>\n",
       "      <th>Embarked_Q</th>\n",
       "      <th>Embarked_S</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>22.0</td>\n",
       "      <td>7.2500</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>38.0</td>\n",
       "      <td>71.2833</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>26.0</td>\n",
       "      <td>7.9250</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>35.0</td>\n",
       "      <td>53.1000</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>35.0</td>\n",
       "      <td>8.0500</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "    Age     Fare  Pclass_2  Pclass_3  Embarked_Q  Embarked_S\n",
       "0  22.0   7.2500         0         1           0           1\n",
       "1  38.0  71.2833         0         0           0           0\n",
       "2  26.0   7.9250         0         1           0           1\n",
       "3  35.0  53.1000         0         0           0           1\n",
       "4  35.0   8.0500         0         1           0           1"
      ]
     },
     "execution_count": 23,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a = imp_embark(train)\n",
    "b = pd.get_dummies(a[['Pclass', 'Embarked']], drop_first=True)\n",
    "a = pd.merge(a[['Age', 'Fare']], b, left_index=True, right_index=True)\n",
    "a.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 24,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<table class=\"simpletable\">\n",
       "<caption>OLS Regression Results</caption>\n",
       "<tr>\n",
       "  <th>Dep. Variable:</th>          <td>Fare</td>       <th>  R-squared (uncentered):</th>      <td>   0.335</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Model:</th>                   <td>OLS</td>       <th>  Adj. R-squared (uncentered):</th> <td>   0.330</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Method:</th>             <td>Least Squares</td>  <th>  F-statistic:       </th>          <td>   71.39</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Date:</th>             <td>Tue, 30 Jun 2020</td> <th>  Prob (F-statistic):</th>          <td>1.63e-60</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Time:</th>                 <td>15:14:17</td>     <th>  Log-Likelihood:    </th>          <td> -3828.5</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>No. Observations:</th>      <td>   714</td>      <th>  AIC:               </th>          <td>   7667.</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Residuals:</th>          <td>   709</td>      <th>  BIC:               </th>          <td>   7690.</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Df Model:</th>              <td>     5</td>      <th>                     </th>              <td> </td>   \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Covariance Type:</th>      <td>nonrobust</td>    <th>                     </th>              <td> </td>   \n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "       <td></td>         <th>coef</th>     <th>std err</th>      <th>t</th>      <th>P>|t|</th>  <th>[0.025</th>    <th>0.975]</th>  \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Age</th>        <td>    1.1890</td> <td>    0.099</td> <td>   11.972</td> <td> 0.000</td> <td>    0.994</td> <td>    1.384</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Pclass_2</th>   <td>  -30.4346</td> <td>    5.429</td> <td>   -5.606</td> <td> 0.000</td> <td>  -41.093</td> <td>  -19.776</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Pclass_3</th>   <td>  -32.3471</td> <td>    4.545</td> <td>   -7.117</td> <td> 0.000</td> <td>  -41.271</td> <td>  -23.423</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Embarked_Q</th> <td>   14.7685</td> <td>   10.964</td> <td>    1.347</td> <td> 0.178</td> <td>   -6.757</td> <td>   36.294</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Embarked_S</th> <td>   17.9785</td> <td>    4.955</td> <td>    3.628</td> <td> 0.000</td> <td>    8.250</td> <td>   27.707</td>\n",
       "</tr>\n",
       "</table>\n",
       "<table class=\"simpletable\">\n",
       "<tr>\n",
       "  <th>Omnibus:</th>       <td>685.015</td> <th>  Durbin-Watson:     </th> <td>   1.851</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Prob(Omnibus):</th> <td> 0.000</td>  <th>  Jarque-Bera (JB):  </th> <td>29739.555</td>\n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Skew:</th>          <td> 4.303</td>  <th>  Prob(JB):          </th> <td>    0.00</td> \n",
       "</tr>\n",
       "<tr>\n",
       "  <th>Kurtosis:</th>      <td>33.424</td>  <th>  Cond. No.          </th> <td>    196.</td> \n",
       "</tr>\n",
       "</table><br/><br/>Warnings:<br/>[1] Standard Errors assume that the covariance matrix of the errors is correctly specified."
      ],
      "text/plain": [
       "<class 'statsmodels.iolib.summary.Summary'>\n",
       "\"\"\"\n",
       "                                 OLS Regression Results                                \n",
       "=======================================================================================\n",
       "Dep. Variable:                   Fare   R-squared (uncentered):                   0.335\n",
       "Model:                            OLS   Adj. R-squared (uncentered):              0.330\n",
       "Method:                 Least Squares   F-statistic:                              71.39\n",
       "Date:                Tue, 30 Jun 2020   Prob (F-statistic):                    1.63e-60\n",
       "Time:                        15:14:17   Log-Likelihood:                         -3828.5\n",
       "No. Observations:                 714   AIC:                                      7667.\n",
       "Df Residuals:                     709   BIC:                                      7690.\n",
       "Df Model:                           5                                                  \n",
       "Covariance Type:            nonrobust                                                  \n",
       "==============================================================================\n",
       "                 coef    std err          t      P>|t|      [0.025      0.975]\n",
       "------------------------------------------------------------------------------\n",
       "Age            1.1890      0.099     11.972      0.000       0.994       1.384\n",
       "Pclass_2     -30.4346      5.429     -5.606      0.000     -41.093     -19.776\n",
       "Pclass_3     -32.3471      4.545     -7.117      0.000     -41.271     -23.423\n",
       "Embarked_Q    14.7685     10.964      1.347      0.178      -6.757      36.294\n",
       "Embarked_S    17.9785      4.955      3.628      0.000       8.250      27.707\n",
       "==============================================================================\n",
       "Omnibus:                      685.015   Durbin-Watson:                   1.851\n",
       "Prob(Omnibus):                  0.000   Jarque-Bera (JB):            29739.555\n",
       "Skew:                           4.303   Prob(JB):                         0.00\n",
       "Kurtosis:                      33.424   Cond. No.                         196.\n",
       "==============================================================================\n",
       "\n",
       "Warnings:\n",
       "[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.\n",
       "\"\"\""
      ]
     },
     "execution_count": 24,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "b = a.dropna()\n",
    "X = b.drop('Fare', axis=1).astype(float)\n",
    "reg = sm.OLS(b['Fare'], X).fit()\n",
    "reg.summary()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "Embarked为Q与Fare没有关联。按这个思路搭建Fare的填补函数。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 25,
   "metadata": {},
   "outputs": [],
   "source": [
    "def imp_fare(df:pd.DataFrame=train, inplace:bool=False) -> pd.DataFrame:\n",
    "    if df['Embarked'].isna().any():\n",
    "        warnings.warn('There are NAs in Embarked. Run imp_embark() first.')\n",
    "    if df['Age'].isna().any():\n",
    "        warnings.warn('There are NAs in Age. Run imp_age() first.')\n",
    "    a = df.copy()\n",
    "    b = pd.get_dummies(a[['Pclass', 'Embarked']], drop_first=True)\n",
    "    if 'Embarked_Q' in b.columns:\n",
    "        b = b.drop('Embarked_Q', axis=1)\n",
    "    a = pd.merge(a[['Age', 'Fare']], b, left_index=True, right_index=True)\n",
    "    # split dataset\n",
    "    train = a[a['Fare'].notna()]\n",
    "    test = a[a['Fare'].isna()]\n",
    "    # model\n",
    "    X_train = train.drop('Fare', axis=1).astype(float)\n",
    "    y_train = train['Fare']\n",
    "    mdl = sm.OLS(y_train, X_train, missing='drop').fit()\n",
    "    # predict\n",
    "    X_test = test.drop('Fare', axis=1).astype(float)\n",
    "    y_pred = mdl.predict(X_test)\n",
    "    # out\n",
    "    o = df if inplace else df.copy()\n",
    "    o.loc[o['Fare'].isna(), 'Fare'] = y_pred\n",
    "    if not inplace:\n",
    "        return o"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4.2 特征抽取\n",
    "\n",
    "根据基本常识和上述分析，构造/变换特征。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (1) 头衔\n",
    "\n",
    "直接调用上一节的`enc_title()`函数，看一下头衔和生存之间是否有关联。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 26,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "chi2: 285.396361, p-value: 0.000000\n"
     ]
    }
   ],
   "source": [
    "a = enc_title(train)\n",
    "print('chi2: %.6f, p-value: %.6f' %\n",
    "     chi2_contingency(pd.crosstab(a['Title'], a['Survived']).to_numpy())[:2])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "头衔和生存几率是相关的。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (2) 船舱\n",
    "\n",
    "Cabin信息缺失很多，首字母为船舱所在层位，可能也与生存几率有关。故提取出来探查一下。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 27,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Cabin</th>\n",
       "      <th>CabinLvl</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>NaN</td>\n",
       "      <td>U</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>C85</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>NaN</td>\n",
       "      <td>U</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>C123</td>\n",
       "      <td>C</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>NaN</td>\n",
       "      <td>U</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  Cabin CabinLvl\n",
       "0   NaN        U\n",
       "1   C85        C\n",
       "2   NaN        U\n",
       "3  C123        C\n",
       "4   NaN        U"
      ]
     },
     "execution_count": 27,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def enc_cabin(df:pd.DataFrame=train, inplace:bool=False) -> pd.DataFrame:\n",
    "    o = df if inplace else df.copy()\n",
    "    o['CabinLvl'] = 'U'\n",
    "    o.loc[~o['Cabin'].isna(), 'CabinLvl'] = o['Cabin'].str.slice(0, 1)\n",
    "    if not inplace:\n",
    "        return o\n",
    "\n",
    "enc_cabin(train)[['Cabin', 'CabinLvl']].head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 28,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "chi2: 99.164161, p-value: 0.000000\n"
     ]
    }
   ],
   "source": [
    "a = enc_cabin(train)\n",
    "print('chi2: %.6f, p-value: %.6f' %\n",
    "     chi2_contingency(pd.crosstab(a['CabinLvl'], a['Survived']).to_numpy())[:2])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "舱位和生存几率也是相关的。它其实与`Pclass`共线。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 29,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>Pclass</th>\n",
       "      <th>1</th>\n",
       "      <th>2</th>\n",
       "      <th>3</th>\n",
       "      <th>All</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CabinLvl</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>A</th>\n",
       "      <td>15</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>15</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>B</th>\n",
       "      <td>47</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>47</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>C</th>\n",
       "      <td>59</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>59</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>D</th>\n",
       "      <td>29</td>\n",
       "      <td>4</td>\n",
       "      <td>0</td>\n",
       "      <td>33</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>E</th>\n",
       "      <td>25</td>\n",
       "      <td>4</td>\n",
       "      <td>3</td>\n",
       "      <td>32</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>F</th>\n",
       "      <td>0</td>\n",
       "      <td>8</td>\n",
       "      <td>5</td>\n",
       "      <td>13</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>G</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>4</td>\n",
       "      <td>4</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>T</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>U</th>\n",
       "      <td>40</td>\n",
       "      <td>168</td>\n",
       "      <td>479</td>\n",
       "      <td>687</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>All</th>\n",
       "      <td>216</td>\n",
       "      <td>184</td>\n",
       "      <td>491</td>\n",
       "      <td>891</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Pclass      1    2    3  All\n",
       "CabinLvl                    \n",
       "A          15    0    0   15\n",
       "B          47    0    0   47\n",
       "C          59    0    0   59\n",
       "D          29    4    0   33\n",
       "E          25    4    3   32\n",
       "F           0    8    5   13\n",
       "G           0    0    4    4\n",
       "T           1    0    0    1\n",
       "U          40  168  479  687\n",
       "All       216  184  491  891"
      ]
     },
     "execution_count": 29,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a = enc_cabin(train)\n",
    "pd.crosstab(a['CabinLvl'], a['Pclass'], margins=True)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 30,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "chi2: 652.408317, p-value: 0.000000\n"
     ]
    }
   ],
   "source": [
    "print('chi2: %.6f, p-value: %.6f' %\n",
    "     chi2_contingency(pd.crosstab(a['CabinLvl'], a['Pclass']).to_numpy())[:2])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "果然，舱层`CabinLvl`和舱等`Pclass`相关。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 31,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr th {\n",
       "        text-align: left;\n",
       "    }\n",
       "\n",
       "    .dataframe thead tr:last-of-type th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr>\n",
       "      <th></th>\n",
       "      <th colspan=\"2\" halign=\"left\">PassengerId</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Survived</th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>CabinNA</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>False</th>\n",
       "      <td>68</td>\n",
       "      <td>136</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>True</th>\n",
       "      <td>481</td>\n",
       "      <td>206</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "         PassengerId     \n",
       "Survived           0    1\n",
       "CabinNA                  \n",
       "False             68  136\n",
       "True             481  206"
      ]
     },
     "execution_count": 31,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "chi2: 87.941486, p-value: 0.000000\n"
     ]
    }
   ],
   "source": [
    "b = (a.assign(CabinNA=a['CabinLvl']=='U')\n",
    "  [['CabinNA', 'Survived', 'PassengerId']]\n",
    "  .pivot_table(index='CabinNA', columns='Survived', aggfunc='count'))\n",
    "b\n",
    "print('chi2: %.6f, p-value: %.6f' %\n",
    "     chi2_contingency(b.to_numpy())[:2])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从上表看，`Cabin`信息缺失者，无法生还的几率显著高于有`Cabin`信息的人。这意味着`Cabin`特征是个leakage，即它是果，而不是因——很大可能是因为这些人没能生还，所以没有收集到Cabin信息。用`Cabin`特征来预测生还，实际上会导致作弊。\n",
    "\n",
    "**舱位信息将不用于建模。**"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (3) 家庭人数\n",
    "\n",
    "前面发现`SibSp`和`Parch`自相关，所以加起来生成新特征`FamilySize`。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 32,
   "metadata": {},
   "outputs": [],
   "source": [
    "def enc_fam_size(df:pd.DataFrame=train, inplace:bool=False) -> pd.DataFrame:\n",
    "    o = df if inplace else df.copy()\n",
    "    o['FamilySize'] = 1 + o['SibSp'].astype('int') + o['Parch'].astype('int')\n",
    "    if not inplace:\n",
    "        return o"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 33,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<matplotlib.axes._subplots.AxesSubplot at 0x1a4f0dd190>"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>Survived</th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>All</th>\n",
       "      <th>Survival</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>FamilySize</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>374</td>\n",
       "      <td>163</td>\n",
       "      <td>537</td>\n",
       "      <td>0.303538</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>72</td>\n",
       "      <td>89</td>\n",
       "      <td>161</td>\n",
       "      <td>0.552795</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>43</td>\n",
       "      <td>59</td>\n",
       "      <td>102</td>\n",
       "      <td>0.578431</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>8</td>\n",
       "      <td>21</td>\n",
       "      <td>29</td>\n",
       "      <td>0.724138</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>12</td>\n",
       "      <td>3</td>\n",
       "      <td>15</td>\n",
       "      <td>0.200000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>19</td>\n",
       "      <td>3</td>\n",
       "      <td>22</td>\n",
       "      <td>0.136364</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>7</th>\n",
       "      <td>8</td>\n",
       "      <td>4</td>\n",
       "      <td>12</td>\n",
       "      <td>0.333333</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>8</th>\n",
       "      <td>6</td>\n",
       "      <td>0</td>\n",
       "      <td>6</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>11</th>\n",
       "      <td>7</td>\n",
       "      <td>0</td>\n",
       "      <td>7</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>All</th>\n",
       "      <td>549</td>\n",
       "      <td>342</td>\n",
       "      <td>891</td>\n",
       "      <td>0.383838</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Survived      0    1  All  Survival\n",
       "FamilySize                         \n",
       "1           374  163  537  0.303538\n",
       "2            72   89  161  0.552795\n",
       "3            43   59  102  0.578431\n",
       "4             8   21   29  0.724138\n",
       "5            12    3   15  0.200000\n",
       "6            19    3   22  0.136364\n",
       "7             8    4   12  0.333333\n",
       "8             6    0    6  0.000000\n",
       "11            7    0    7  0.000000\n",
       "All         549  342  891  0.383838"
      ]
     },
     "execution_count": 33,
     "metadata": {},
     "output_type": "execute_result"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "a = enc_fam_size(train)\n",
    "b = pd.DataFrame(pd.crosstab(a['FamilySize'], a['Survived'], margins=True))\n",
    "b['Survival'] = b[1]/b['All']\n",
    "sns.barplot(x='FamilySize', y='Survival', data=b['Survival'].reset_index(),\n",
    "           palette='Blues');\n",
    "b"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "家庭人数和生存几率并不是线性关系。合理的做法是分箱：1， 2-4， 5+。把`enc_fam_size()`函数复写一遍。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 34,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "      <th>FamilySize</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>small</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>small</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>single</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>small</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>single</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  SibSp Parch FamilySize\n",
       "0     1     0      small\n",
       "1     1     0      small\n",
       "2     0     0     single\n",
       "3     1     0      small\n",
       "4     0     0     single"
      ]
     },
     "execution_count": 34,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def enc_fam_size(df:pd.DataFrame=train, bins:list=[0, 1, 4, 99], \n",
    "                 labels:list=['single', 'small', 'large'], \n",
    "                 inplace:bool=False) -> pd.DataFrame:\n",
    "    assert len(bins) == len(labels)+1, 'bins should equal to labels+1'\n",
    "    o = df if inplace else df.copy()\n",
    "    x = 1 + o['SibSp'].astype('int') + o['Parch'].astype('int')\n",
    "    o['FamilySize'] = pd.cut(x, bins=bins, labels=labels)\n",
    "    if not inplace:\n",
    "        return o\n",
    "\n",
    "enc_fam_size(train)[['SibSp', 'Parch', 'FamilySize']].head()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (4) 年龄分箱\n",
    "\n",
    "根据单因素分析，年龄与生存结局不是线性关系。所以分一下箱。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 35,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>Survived</th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>All</th>\n",
       "      <th>Survival</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AgeGroup</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>child</th>\n",
       "      <td>40</td>\n",
       "      <td>43</td>\n",
       "      <td>83</td>\n",
       "      <td>0.518072</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>adol</th>\n",
       "      <td>42</td>\n",
       "      <td>30</td>\n",
       "      <td>72</td>\n",
       "      <td>0.416667</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>young</th>\n",
       "      <td>116</td>\n",
       "      <td>73</td>\n",
       "      <td>189</td>\n",
       "      <td>0.386243</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>adult</th>\n",
       "      <td>241</td>\n",
       "      <td>128</td>\n",
       "      <td>369</td>\n",
       "      <td>0.346883</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>mid</th>\n",
       "      <td>93</td>\n",
       "      <td>63</td>\n",
       "      <td>156</td>\n",
       "      <td>0.403846</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>eldly</th>\n",
       "      <td>17</td>\n",
       "      <td>5</td>\n",
       "      <td>22</td>\n",
       "      <td>0.227273</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>All</th>\n",
       "      <td>549</td>\n",
       "      <td>342</td>\n",
       "      <td>891</td>\n",
       "      <td>0.383838</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Survived    0    1  All  Survival\n",
       "AgeGroup                         \n",
       "child      40   43   83  0.518072\n",
       "adol       42   30   72  0.416667\n",
       "young     116   73  189  0.386243\n",
       "adult     241  128  369  0.346883\n",
       "mid        93   63  156  0.403846\n",
       "eldly      17    5   22  0.227273\n",
       "All       549  342  891  0.383838"
      ]
     },
     "execution_count": 35,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def enc_age_grp(df:pd.DataFrame=train, bins:list=[-99, 12, 18, 25, 40, 60, 99], \n",
    "                labels:list=['child', 'adol', 'young', 'adult', 'mid', 'eldly'], \n",
    "                inplace:bool=False) -> pd.DataFrame:\n",
    "    assert len(bins) == len(labels)+1, 'bins should equal to labels+1'\n",
    "    if df['Age'].isna().any():\n",
    "        warnings.warn('There are NAs in Age. Run imp_age() first.')\n",
    "    o = df if inplace else df.copy()\n",
    "    o['AgeGroup'] = pd.cut(o['Age'], bins=bins, labels=labels)\n",
    "    if not inplace:\n",
    "        return o\n",
    "\n",
    "a = enc_age_grp(imp_age(imp_embark(enc_title(train))))\n",
    "b = pd.crosstab(a['AgeGroup'], a['Survived'], margins=True)\n",
    "b.assign(Survival=b[1]/b['All'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (5) 共用船票\n",
    "\n",
    "部分乘客共用船票，提示这些乘客是结伴出行的。这也可能影响生存结局。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 36,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>Survived</th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>All</th>\n",
       "      <th>Survival</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mates</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>384</td>\n",
       "      <td>163</td>\n",
       "      <td>547</td>\n",
       "      <td>0.297989</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>80</td>\n",
       "      <td>108</td>\n",
       "      <td>188</td>\n",
       "      <td>0.574468</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>19</td>\n",
       "      <td>44</td>\n",
       "      <td>63</td>\n",
       "      <td>0.698413</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>22</td>\n",
       "      <td>22</td>\n",
       "      <td>44</td>\n",
       "      <td>0.500000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>10</td>\n",
       "      <td>0</td>\n",
       "      <td>10</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>5</th>\n",
       "      <td>18</td>\n",
       "      <td>0</td>\n",
       "      <td>18</td>\n",
       "      <td>0.000000</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>6</th>\n",
       "      <td>16</td>\n",
       "      <td>5</td>\n",
       "      <td>21</td>\n",
       "      <td>0.238095</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>All</th>\n",
       "      <td>549</td>\n",
       "      <td>342</td>\n",
       "      <td>891</td>\n",
       "      <td>0.383838</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Survived    0    1  All  Survival\n",
       "Mates                            \n",
       "0         384  163  547  0.297989\n",
       "1          80  108  188  0.574468\n",
       "2          19   44   63  0.698413\n",
       "3          22   22   44  0.500000\n",
       "4          10    0   10  0.000000\n",
       "5          18    0   18  0.000000\n",
       "6          16    5   21  0.238095\n",
       "All       549  342  891  0.383838"
      ]
     },
     "execution_count": 36,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def enc_mates(df:pd.DataFrame=train, inplace:bool=False) -> pd.DataFrame:\n",
    "    o = df if inplace else df.copy()\n",
    "    dct = o.groupby('Ticket')['PassengerId'].count().to_dict()\n",
    "    o['Mates'] = o['Ticket'].map(dct)-1\n",
    "    if not inplace:\n",
    "        return o\n",
    "\n",
    "a = enc_mates(train)\n",
    "b = pd.crosstab(a['Mates'], a['Survived'], margins=True)\n",
    "b.assign(Survival=b[1]/b['All'])"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 37,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Mates</th>\n",
       "      <th>SibSp</th>\n",
       "      <th>Parch</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>Mates</th>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.661622</td>\n",
       "      <td>0.593076</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SibSp</th>\n",
       "      <td>0.661622</td>\n",
       "      <td>1.000000</td>\n",
       "      <td>0.414838</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Parch</th>\n",
       "      <td>0.593076</td>\n",
       "      <td>0.414838</td>\n",
       "      <td>1.000000</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "          Mates     SibSp     Parch\n",
       "Mates  1.000000  0.661622  0.593076\n",
       "SibSp  0.661622  1.000000  0.414838\n",
       "Parch  0.593076  0.414838  1.000000"
      ]
     },
     "execution_count": 37,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "a[['Mates', 'SibSp', 'Parch']].astype(int).corr()"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`Mates`和`SibSp`、`Parch`还是有较高的相关性。还是分一下箱。复写一遍`enc_mates()`。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 38,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th>Survived</th>\n",
       "      <th>0</th>\n",
       "      <th>1</th>\n",
       "      <th>All</th>\n",
       "      <th>Survival</th>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Mates</th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "      <th></th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>none</th>\n",
       "      <td>384</td>\n",
       "      <td>163</td>\n",
       "      <td>547</td>\n",
       "      <td>0.297989</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>few</th>\n",
       "      <td>121</td>\n",
       "      <td>174</td>\n",
       "      <td>295</td>\n",
       "      <td>0.589831</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>many</th>\n",
       "      <td>44</td>\n",
       "      <td>5</td>\n",
       "      <td>49</td>\n",
       "      <td>0.102041</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>All</th>\n",
       "      <td>549</td>\n",
       "      <td>342</td>\n",
       "      <td>891</td>\n",
       "      <td>0.383838</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "Survived    0    1  All  Survival\n",
       "Mates                            \n",
       "none      384  163  547  0.297989\n",
       "few       121  174  295  0.589831\n",
       "many       44    5   49  0.102041\n",
       "All       549  342  891  0.383838"
      ]
     },
     "execution_count": 38,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "def enc_mates(df:pd.DataFrame=train, bins:list=[-1, 0, 3, 9], \n",
    "              labels:list=['none', 'few', 'many'],\n",
    "              inplace:bool=False) -> pd.DataFrame:\n",
    "    assert len(bins) == len(labels)+1, 'bins should equal to labels+1'\n",
    "    o = df if inplace else df.copy()\n",
    "    dct = o.groupby('Ticket')['PassengerId'].count().to_dict()\n",
    "    o['Mates'] = o['Ticket'].map(dct)-1\n",
    "    o['Mates'] = pd.cut(o['Mates'], bins=bins, labels=labels)\n",
    "    if not inplace:\n",
    "        return o\n",
    "    \n",
    "a = enc_mates(train)\n",
    "b = pd.crosstab(a['Mates'], a['Survived'], margins=True)\n",
    "b.assign(Survival=b[1]/b['All'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 4.3 异常值处理\n",
    "\n",
    "没有看到特别异常的数据。略。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 5. 模型拟合\n",
    "\n",
    "暴力枚举。使用`sklearn`提供的各种分类器拟合模型，用网格搜索法优选（用`accuracy`指标）。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 5.1 数据处理\n",
    "\n",
    "将前面所有特征工程步骤整合起来，形成预处理函数。也可以建立pipeline，但本案例打算枚举模型，每次拟合都重复预处理一次没太大必要，直接对预处理结果拟合模型就行了。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 39,
   "metadata": {},
   "outputs": [],
   "source": [
    "def preproc_df(df:pd.DataFrame=train, use_dummies:bool=True, \n",
    "               impute:bool=True) -> pd.DataFrame:\n",
    "    o = df.copy()\n",
    "    o['Pclass'] = o['Pclass'].astype('category')\n",
    "    \n",
    "    # feature engineering, inplace\n",
    "    if impute:\n",
    "        imp_embark(o, inplace=True)\n",
    "    enc_title(o, inplace=True)\n",
    "    if impute:\n",
    "        imp_age(o, inplace=True)\n",
    "        imp_fare(o, inplace=True)\n",
    "    enc_fam_size(o, inplace=True)\n",
    "    enc_age_grp(o, inplace=True)\n",
    "    enc_mates(o, inplace=True)\n",
    "    \n",
    "    # one-hot encoding\n",
    "    if use_dummies:\n",
    "        a = pd.get_dummies(\n",
    "            o[['Pclass', 'Title', 'AgeGroup', 'FamilySize', 'Mates', 'Embarked']],\n",
    "            drop_first=True)\n",
    "    else:\n",
    "        a = o[['Pclass', 'Title', 'AgeGroup', 'FamilySize', 'Mates', 'Embarked']].copy()\n",
    "        \n",
    "    # label encoding\n",
    "    o['Sex'] = LabelEncoder().fit_transform(o['Sex'])\n",
    "    if not use_dummies:\n",
    "        for var in ['Pclass', 'Title', 'AgeGroup', 'FamilySize', 'Mates', 'Embarked']:\n",
    "            a[var] = LabelEncoder().fit_transform(a[var].astype('str'))\n",
    "    \n",
    "    # scale Fare (skewed)\n",
    "    o['Fare'] = MinMaxScaler().fit_transform(o[['Fare']])\n",
    "    # compose\n",
    "    if 'Survived' in o.columns:\n",
    "        o = pd.merge(o[['Survived', 'Fare', 'Sex']], a, \n",
    "                     left_index=True, right_index=True)\n",
    "    else:\n",
    "        o = pd.merge(o[['Fare', 'Sex']], a, \n",
    "                     left_index=True, right_index=True)\n",
    "    return o"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 40,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Survived</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Pclass_2</th>\n",
       "      <th>Pclass_3</th>\n",
       "      <th>Title_Miss</th>\n",
       "      <th>Title_Mr</th>\n",
       "      <th>Title_Mrs</th>\n",
       "      <th>Title_Noble</th>\n",
       "      <th>AgeGroup_adol</th>\n",
       "      <th>AgeGroup_young</th>\n",
       "      <th>AgeGroup_adult</th>\n",
       "      <th>AgeGroup_mid</th>\n",
       "      <th>AgeGroup_eldly</th>\n",
       "      <th>FamilySize_small</th>\n",
       "      <th>FamilySize_large</th>\n",
       "      <th>Mates_few</th>\n",
       "      <th>Mates_many</th>\n",
       "      <th>Embarked_Q</th>\n",
       "      <th>Embarked_S</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0.014151</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0.139136</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>0.015469</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>0.103644</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>0.015713</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>1</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  Survived      Fare  Sex  Pclass_2  Pclass_3  Title_Miss  Title_Mr  \\\n",
       "0        0  0.014151    1         0         1           0         1   \n",
       "1        1  0.139136    0         0         0           0         0   \n",
       "2        1  0.015469    0         0         1           1         0   \n",
       "3        1  0.103644    0         0         0           0         0   \n",
       "4        0  0.015713    1         0         1           0         1   \n",
       "\n",
       "   Title_Mrs  Title_Noble  AgeGroup_adol  AgeGroup_young  AgeGroup_adult  \\\n",
       "0          0            0              0               1               0   \n",
       "1          1            0              0               0               1   \n",
       "2          0            0              0               0               1   \n",
       "3          1            0              0               0               1   \n",
       "4          0            0              0               0               1   \n",
       "\n",
       "   AgeGroup_mid  AgeGroup_eldly  FamilySize_small  FamilySize_large  \\\n",
       "0             0               0                 1                 0   \n",
       "1             0               0                 1                 0   \n",
       "2             0               0                 0                 0   \n",
       "3             0               0                 1                 0   \n",
       "4             0               0                 0                 0   \n",
       "\n",
       "   Mates_few  Mates_many  Embarked_Q  Embarked_S  \n",
       "0          0           0           0           1  \n",
       "1          0           0           0           0  \n",
       "2          0           0           0           1  \n",
       "3          1           0           0           1  \n",
       "4          0           0           0           1  "
      ]
     },
     "execution_count": 40,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# data using dummies\n",
    "train_data = preproc_df(train)\n",
    "X_train = train_data.drop('Survived', axis=1)\n",
    "y_train = train_data['Survived']\n",
    "\n",
    "train_data.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 41,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Survived</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Title</th>\n",
       "      <th>AgeGroup</th>\n",
       "      <th>FamilySize</th>\n",
       "      <th>Mates</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0.014151</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>5</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0.139136</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>0.015469</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>0.103644</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>0.015713</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  Survived      Fare  Sex  Pclass  Title  AgeGroup  FamilySize  Mates  \\\n",
       "0        0  0.014151    1       2      2         5           2      2   \n",
       "1        1  0.139136    0       0      3         1           2      2   \n",
       "2        1  0.015469    0       2      1         1           1      2   \n",
       "3        1  0.103644    0       0      3         1           2      0   \n",
       "4        0  0.015713    1       2      2         1           1      2   \n",
       "\n",
       "   Embarked  \n",
       "0         2  \n",
       "1         0  \n",
       "2         2  \n",
       "3         2  \n",
       "4         2  "
      ]
     },
     "execution_count": 41,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# data not using dummies\n",
    "train_data_ = preproc_df(train, use_dummies=False)\n",
    "X_train_ = train_data_.drop('Survived', axis=1)\n",
    "y_train_ = train_data_['Survived']\n",
    "\n",
    "train_data_.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 42,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "/Users/madlogos/anaconda3/lib/python3.7/site-packages/ipykernel_launcher.py:6: UserWarning: There are NAs in Age. Run imp_age() first.\n",
      "  \n"
     ]
    },
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>Survived</th>\n",
       "      <th>Fare</th>\n",
       "      <th>Sex</th>\n",
       "      <th>Pclass</th>\n",
       "      <th>Title</th>\n",
       "      <th>AgeGroup</th>\n",
       "      <th>FamilySize</th>\n",
       "      <th>Mates</th>\n",
       "      <th>Embarked</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>0</th>\n",
       "      <td>0</td>\n",
       "      <td>0.014151</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>6</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>1</th>\n",
       "      <td>1</td>\n",
       "      <td>0.139136</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>2</th>\n",
       "      <td>1</td>\n",
       "      <td>0.015469</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>3</th>\n",
       "      <td>1</td>\n",
       "      <td>0.103644</td>\n",
       "      <td>0</td>\n",
       "      <td>0</td>\n",
       "      <td>3</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>0</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>4</th>\n",
       "      <td>0</td>\n",
       "      <td>0.015713</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "      <td>1</td>\n",
       "      <td>1</td>\n",
       "      <td>2</td>\n",
       "      <td>2</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "  Survived      Fare  Sex  Pclass  Title  AgeGroup  FamilySize  Mates  \\\n",
       "0        0  0.014151    1       2      2         6           2      2   \n",
       "1        1  0.139136    0       0      3         1           2      2   \n",
       "2        1  0.015469    0       2      1         1           1      2   \n",
       "3        1  0.103644    0       0      3         1           2      0   \n",
       "4        0  0.015713    1       2      2         1           1      2   \n",
       "\n",
       "   Embarked  \n",
       "0         2  \n",
       "1         0  \n",
       "2         2  \n",
       "3         2  \n",
       "4         2  "
      ]
     },
     "execution_count": 42,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "# data not using imputation and dummies\n",
    "train_data_raw = preproc_df(train, use_dummies=False, impute=False)\n",
    "X_train_raw = train_data_raw.drop('Survived', axis=1)\n",
    "y_train_raw = train_data_raw['Survived']\n",
    "\n",
    "train_data_raw.head()"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 43,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x648 with 2 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "sns.heatmap(X_train.corr(), cmap='coolwarm');"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "`Sex`和多个特征有共线性，构建模型时需要当心。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 5.2 函数框架\n",
    "\n",
    "构建一个通用函数，进行网格搜索拟合优化，并返回各项指标。模型存入字典models，网格参数存入params_grid。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 44,
   "metadata": {},
   "outputs": [],
   "source": [
    "models = {}\n",
    "params_grid = {}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 45,
   "metadata": {},
   "outputs": [],
   "source": [
    "def evl_model(y_true:list, y_pred:list,\n",
    "              indicator:[list, str]=['accuracy', 'precision', 'recall', 'auc', 'f1']) -> dict:\n",
    "    if isinstance(indicator, str):\n",
    "        indicator = list(indicator)\n",
    "    indicator = [idc.lower() for idc in indicator]\n",
    "    assert set(indicator).intersection(\n",
    "        {'accuracy', 'precision', 'recall', 'auc', 'f1'}) == set(indicator)\n",
    "    o = {}\n",
    "    f = {'accuracy': accuracy_score,\n",
    "         'precision': precision_score,\n",
    "         'recall': recall_score,\n",
    "         'f1': f1_score}\n",
    "    for idc in indicator:\n",
    "        if idc in ['accuracy', 'precision', 'recall', 'f1']:\n",
    "            o[idc] = f[idc](y_true, y_pred)\n",
    "        elif idc in ['auc']:\n",
    "            fpr, tpr, thres = roc_curve(y_true, y_pred)\n",
    "            o[idc] = auc(fpr, tpr)\n",
    "    return o\n",
    "    \n",
    "def fit_mlmodel(clf, param_grid:dict, kfold:int=5, verbose=1, n_jobs=-1,\n",
    "              X:pd.DataFrame=X_train, y:pd.Series=y_train) -> dict:\n",
    "    searcher = GridSearchCV(\n",
    "        clf, scoring='accuracy',\n",
    "        param_grid=param_grid, n_jobs=n_jobs,\n",
    "        cv=StratifiedKFold(n_splits=kfold), verbose=verbose)\n",
    "    \n",
    "    searcher.fit(X, y)\n",
    "    model = searcher\n",
    "    y_pred = model.predict(X)\n",
    "    mdl_scores = evl_model(y, y_pred)\n",
    "    params = searcher.best_params_\n",
    "    \n",
    "    t0 = time.time()\n",
    "    t_0 = time.process_time()\n",
    "    model.fit(X, y)\n",
    "    t1 = time.time()\n",
    "    t_1 = time.process_time()\n",
    "    \n",
    "    out = {'score': searcher.best_score_,  'params': params, \n",
    "           'cpu_time': t_1 - t_0, 'wall_time': t1 - t0, 'model': model}\n",
    "    return {**mdl_scores, **out}"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (1) Logistic Regression\n",
    "\n",
    "Logistic回归是二分类问题最常用的模型。超参数包括`C`, `class_weight`, `penalty`, `solver`, `multi_class`等。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 46,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 24 candidates, totalling 120 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n",
      "[Parallel(n_jobs=-1)]: Done  56 tasks      | elapsed:    3.3s\n",
      "[Parallel(n_jobs=-1)]: Done 113 out of 120 | elapsed:    4.0s remaining:    0.2s\n",
      "[Parallel(n_jobs=-1)]: Done 120 out of 120 | elapsed:    4.1s finished\n",
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 24 candidates, totalling 120 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done 120 out of 120 | elapsed:    1.6s finished\n"
     ]
    }
   ],
   "source": [
    "params_grid['Logistic'] = {\n",
    "    'C': [0.1, 0.2, 0.5, 1], 'solver': ['newton-cg', 'lbfgs', 'sag'],\n",
    "    'multi_class': ['ovr', 'multinomial']\n",
    "}\n",
    "models['Logistic'] = fit_mlmodel(LogisticRegression(), params_grid['Logistic'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (2) Linear Discriminant Analysis\n",
    "\n",
    "线性判别分析也是一种常用的分类器。超参数包括`solver`, `shrinkage`, `priors`等。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 47,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 3 candidates, totalling 15 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done  15 out of  15 | elapsed:    0.2s finished\n",
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 3 candidates, totalling 15 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done  15 out of  15 | elapsed:    0.2s finished\n"
     ]
    }
   ],
   "source": [
    "params_grid['LDA'] = {\n",
    "    'solver': ['svd', 'lsqr', 'eigen']\n",
    "}\n",
    "models['LDA'] = fit_mlmodel(LDA(), params_grid['LDA'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (3) Quadratic Discriminant Analysis\n",
    "\n",
    "二次判别分析的分类能力比线性判别分析更强。超参数包括`priors`, `reg_param`, `tol`等。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 48,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 1 candidates, totalling 5 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 1 candidates, totalling 5 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done   5 out of   5 | elapsed:    0.1s finished\n",
      "/Users/madlogos/anaconda3/lib/python3.7/site-packages/sklearn/discriminant_analysis.py:715: UserWarning: Variables are collinear\n",
      "  warnings.warn(\"Variables are collinear\")\n",
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n",
      "[Parallel(n_jobs=-1)]: Done   5 out of   5 | elapsed:    0.0s finished\n",
      "/Users/madlogos/anaconda3/lib/python3.7/site-packages/sklearn/discriminant_analysis.py:715: UserWarning: Variables are collinear\n",
      "  warnings.warn(\"Variables are collinear\")\n"
     ]
    }
   ],
   "source": [
    "params_grid['QDA'] = {}\n",
    "models['QDA'] = fit_mlmodel(QDA(), params_grid['QDA'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "多重共线性比较严重，影响模型拟合。所以构建一个pipeline，先把`Title_Mr`, `Title_Mrs`, `Title_Miss`这几列与`Sex`严重共线的特征删掉，再跑。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 49,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 1 candidates, totalling 5 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done   5 out of   5 | elapsed:    0.1s finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 1 candidates, totalling 5 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n",
      "[Parallel(n_jobs=-1)]: Done   5 out of   5 | elapsed:    0.1s finished\n"
     ]
    }
   ],
   "source": [
    "models['QDA'] = fit_mlmodel(Pipeline(\n",
    "    [('drop_cols', ColumnTransformer(\n",
    "        transformers=[('dropcol', 'drop', ['Title_Miss', 'Title_Mr', 'Title_Mrs'])],\n",
    "        remainder='passthrough')),\n",
    "     ('qda', QDA())]), params_grid['QDA'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (4) Ridge Classfier\n",
    "\n",
    "岭回归是使用L2正则化的广义线性回归，用来减少过拟合。超参数包括`alpha`, `fit_intercept`, `normalize`, `solver`等。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 50,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 4 candidates, totalling 20 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n",
      "[Parallel(n_jobs=-1)]: Done  20 out of  20 | elapsed:    0.2s finished\n",
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 4 candidates, totalling 20 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done  20 out of  20 | elapsed:    0.2s finished\n"
     ]
    }
   ],
   "source": [
    "params_grid['Ridge'] = {\n",
    "    'alpha': [1, 2, 5, 10]\n",
    "}\n",
    "models['Ridge'] = fit_mlmodel(RidgeClassifier(), params_grid['Ridge'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (5) SVM Classifier\n",
    "\n",
    "支持向量机可以作为非线性分类器。超参数包括`C`, `kernel`, `degree`, `gamma`, `coef0`等。C一般不宜太大。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 51,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 12 candidates, totalling 60 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done  53 out of  60 | elapsed:    1.0s remaining:    0.1s\n",
      "[Parallel(n_jobs=-1)]: Done  60 out of  60 | elapsed:    1.0s finished\n",
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 12 candidates, totalling 60 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done  53 out of  60 | elapsed:    0.9s remaining:    0.1s\n",
      "[Parallel(n_jobs=-1)]: Done  60 out of  60 | elapsed:    0.9s finished\n"
     ]
    }
   ],
   "source": [
    "params_grid['SVC'] = {\n",
    "    'C': [0.2, 0.5, 1, 2], 'kernel': ['poly', 'rbf', 'sigmoid']\n",
    "}\n",
    "models['SVC'] = fit_mlmodel(SVC(), params_grid['SVC'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (6) Linear SVC\n",
    "\n",
    "线性支持向量机，采用'linear'内核。超参数包括`penalty`, `loss`, `dual`, `multi_class`等。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 52,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 8 candidates, totalling 40 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done  40 out of  40 | elapsed:    4.4s finished\n",
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 8 candidates, totalling 40 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done  40 out of  40 | elapsed:    5.3s finished\n"
     ]
    }
   ],
   "source": [
    "params_grid['LinearSVC'] = {\n",
    "    'C': [0.2, 0.5, 1, 2], 'multi_class': ['ovr', 'crammer_singer']\n",
    "}\n",
    "models['LinearSVC'] = fit_mlmodel(LinearSVC(), params_grid['LinearSVC'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (7) NuSVC\n",
    "\n",
    "Nu-支持向量机，与SVC接近，只是增加了`nu`参数控制支持向量的数量。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 53,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 12 candidates, totalling 60 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done  53 out of  60 | elapsed:    1.0s remaining:    0.1s\n",
      "[Parallel(n_jobs=-1)]: Done  60 out of  60 | elapsed:    1.0s finished\n",
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 12 candidates, totalling 60 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done  53 out of  60 | elapsed:    1.3s remaining:    0.2s\n",
      "[Parallel(n_jobs=-1)]: Done  60 out of  60 | elapsed:    1.4s finished\n"
     ]
    }
   ],
   "source": [
    "params_grid['NuSVC'] = {\n",
    "    'nu': [0.25, 0.5, 0.75],\n",
    "    'kernel': ['linear', 'poly', 'rbf', 'sigmoid']\n",
    "}\n",
    "models['NuSVC'] = fit_mlmodel(NuSVC(), params_grid['NuSVC'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (8) Decision Tree\n",
    "\n",
    "决策树是常用分类器，有较好的可解释性。超参数包括`splitter`, `criterion`, `max_depth`, `min_samples_split`等。\n",
    "\n",
    "水平数不是太多的情况下，基于树的分类器可以不用哑变量。(实际使用下来，使用哑变量效果并没有更好) 所以从这里开始，均使用`train_data_`。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 54,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 225 candidates, totalling 1125 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done 128 tasks      | elapsed:    1.4s\n",
      "[Parallel(n_jobs=-1)]: Done 1080 tasks      | elapsed:    9.5s\n",
      "[Parallel(n_jobs=-1)]: Done 1125 out of 1125 | elapsed:    9.9s finished\n",
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 225 candidates, totalling 1125 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done 200 tasks      | elapsed:    1.3s\n",
      "[Parallel(n_jobs=-1)]: Done 1125 out of 1125 | elapsed:    6.4s finished\n"
     ]
    }
   ],
   "source": [
    "params_grid['DecisionTree'] = {\n",
    "    'min_samples_split': [2, 3, 5, 7, 10], 'max_depth': [4, 6, 8],\n",
    "    'min_samples_leaf': [1, 3, 5, 7, 10], 'max_features': ['sqrt', 'auto', 'log2']\n",
    "}\n",
    "models['DecisionTree'] = fit_mlmodel(DecisionTreeClassifier(), params_grid['DecisionTree'],\n",
    "                                     X=X_train_, y=y_train_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (9) Random Forest\n",
    "\n",
    "从这里开始都是集成学习的方法。集成学习的效果一般会更好。随机森林是较常用的基于树的集成分类器。超参数包括`n_estimators`, `criterion`, `max_depth`, `min_samples_split`, `min_samples_leaf`等。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 55,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 324 candidates, totalling 1620 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done  76 tasks      | elapsed:    6.7s\n",
      "[Parallel(n_jobs=-1)]: Done 304 tasks      | elapsed:   27.4s\n",
      "[Parallel(n_jobs=-1)]: Done 554 tasks      | elapsed:   45.5s\n",
      "[Parallel(n_jobs=-1)]: Done 904 tasks      | elapsed:  1.2min\n",
      "[Parallel(n_jobs=-1)]: Done 1354 tasks      | elapsed:  1.6min\n",
      "[Parallel(n_jobs=-1)]: Done 1620 out of 1620 | elapsed:  1.9min finished\n",
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 324 candidates, totalling 1620 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done  76 tasks      | elapsed:    5.1s\n",
      "[Parallel(n_jobs=-1)]: Done 376 tasks      | elapsed:   28.1s\n",
      "[Parallel(n_jobs=-1)]: Done 876 tasks      | elapsed:  1.0min\n",
      "[Parallel(n_jobs=-1)]: Done 1576 tasks      | elapsed:  1.7min\n",
      "[Parallel(n_jobs=-1)]: Done 1620 out of 1620 | elapsed:  1.8min finished\n"
     ]
    }
   ],
   "source": [
    "params_grid['RandomForest'] = {\n",
    "    'min_samples_split': [2, 5, 10], 'max_depth': [4, 6],\n",
    "    'min_samples_leaf': [1, 5, 10], 'max_features': ['sqrt', 'auto', 'log2'],\n",
    "    'n_estimators': [10, 50, 100], 'bootstrap': [True, False]\n",
    "}\n",
    "models['RandomForest'] = fit_mlmodel(RandomForestClassifier(), params_grid['RandomForest'],\n",
    "                                     X=X_train_, y=y_train_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (10) Bagging\n",
    "\n",
    "Bagging比随机森林稍弱一些（随机森林可视为改良的bagging模型）。超参数包括`n_estimators`, `max_samples`, `max_features`等。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 56,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 6 candidates, totalling 30 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n",
      "[Parallel(n_jobs=-1)]: Done  30 out of  30 | elapsed:    3.4s finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 6 candidates, totalling 30 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n",
      "[Parallel(n_jobs=-1)]: Done  30 out of  30 | elapsed:    3.0s finished\n"
     ]
    }
   ],
   "source": [
    "params_grid['Bagging'] = {\n",
    "    'n_estimators': [10, 50, 100], 'bootstrap': [True, False]\n",
    "}\n",
    "models['Bagging'] = fit_mlmodel(\n",
    "    BaggingClassifier(), params_grid['Bagging'],\n",
    "    X=X_train_, y=y_train_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (11) AdaBoost\n",
    "\n",
    "AdaBoost同样是集成分类器，但不同的树（弱分类器）权重不同。超参数包括`n_estimators`, `learning_rate`, `algorithm`等。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 57,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 18 candidates, totalling 90 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done  76 tasks      | elapsed:    6.1s\n",
      "[Parallel(n_jobs=-1)]: Done  90 out of  90 | elapsed:    7.3s finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 18 candidates, totalling 90 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n",
      "[Parallel(n_jobs=-1)]: Done  76 tasks      | elapsed:    5.5s\n",
      "[Parallel(n_jobs=-1)]: Done  90 out of  90 | elapsed:    6.9s finished\n"
     ]
    }
   ],
   "source": [
    "params_grid['AdaBoost'] = {\n",
    "    'n_estimators': [10, 50, 100], 'learning_rate': [0.05, 0.1, 0.5, 1, 2, 5]\n",
    "}\n",
    "models['AdaBoost'] = fit_mlmodel(\n",
    "    AdaBoostClassifier(), params_grid['AdaBoost'],\n",
    "    X=X_train_, y=y_train_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (12）Extra Trees\n",
    "\n",
    "ExtraTree（极端随机树）是另一种集成分类器，与随机森林相比，它产生分叉值是完全随机的。超参数包括`n_estimators`, `criterion`, `max_depth`, `min_samples_leaf`等。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 58,
   "metadata": {},
   "outputs": [
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 18 candidates, totalling 90 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n",
      "[Parallel(n_jobs=-1)]: Done  76 tasks      | elapsed:    5.3s\n",
      "[Parallel(n_jobs=-1)]: Done  90 out of  90 | elapsed:    6.5s finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 18 candidates, totalling 90 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n",
      "[Parallel(n_jobs=-1)]: Done  76 tasks      | elapsed:    5.5s\n",
      "[Parallel(n_jobs=-1)]: Done  90 out of  90 | elapsed:    6.7s finished\n"
     ]
    }
   ],
   "source": [
    "params_grid['ExtraTree'] = {\n",
    "    'n_estimators': [10, 50, 100], 'criterion': ['gini', 'entropy'],\n",
    "    'max_features': ['auto', 'sqrt', 'log2']\n",
    "}\n",
    "models['ExtraTree'] = fit_mlmodel(\n",
    "    ExtraTreesClassifier(), params_grid['ExtraTree'],\n",
    "    X=X_train_, y=y_train_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (13) Gradient Boosting\n",
    "\n",
    "GBDT（梯度提升树）每次迭代会生成一颗新的决策树，在很多任务中表现很好。超参数包括`loss`, `learning_rate`, `n_estimators`, `subsample`等。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 59,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 180 candidates, totalling 900 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done  76 tasks      | elapsed:    4.8s\n",
      "[Parallel(n_jobs=-1)]: Done 272 tasks      | elapsed:   27.3s\n",
      "[Parallel(n_jobs=-1)]: Done 586 tasks      | elapsed:  1.1min\n",
      "[Parallel(n_jobs=-1)]: Done 900 out of 900 | elapsed:  1.8min finished\n",
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 180 candidates, totalling 900 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done 128 tasks      | elapsed:   10.6s\n",
      "[Parallel(n_jobs=-1)]: Done 320 tasks      | elapsed:   34.2s\n",
      "[Parallel(n_jobs=-1)]: Done 606 tasks      | elapsed:  1.2min\n",
      "[Parallel(n_jobs=-1)]: Done 900 out of 900 | elapsed:  1.8min finished\n"
     ]
    }
   ],
   "source": [
    "params_grid['GBDT'] = {\n",
    "    'n_estimators': [10, 50, 100], 'learning_rate': [0.1, 0.2, 0.5, 1, 2],\n",
    "    'subsample': [0.7, 0.85, 1], 'max_depth': [3, 4, 6, 8]\n",
    "}\n",
    "models['GBDT'] = fit_mlmodel(\n",
    "    GradientBoostingClassifier(), params_grid['GBDT'],\n",
    "    X=X_train_, y=y_train_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (14) XgBoost\n",
    "\n",
    "XGBoost是机器学习的耀眼明星，在分类任务中表现突出。超参数包括`learning_rate`, `n_estimators`, `max_depth`, `subsample`等。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 60,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 216 candidates, totalling 1080 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done  48 tasks      | elapsed:    3.1s\n",
      "[Parallel(n_jobs=-1)]: Done 348 tasks      | elapsed:   11.3s\n",
      "[Parallel(n_jobs=-1)]: Done 848 tasks      | elapsed:   24.0s\n",
      "[Parallel(n_jobs=-1)]: Done 1080 out of 1080 | elapsed:   31.0s finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 216 candidates, totalling 1080 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n",
      "[Parallel(n_jobs=-1)]: Done 128 tasks      | elapsed:    3.3s\n",
      "[Parallel(n_jobs=-1)]: Done 728 tasks      | elapsed:   21.4s\n",
      "[Parallel(n_jobs=-1)]: Done 1080 out of 1080 | elapsed:   31.9s finished\n"
     ]
    }
   ],
   "source": [
    "params_grid['XGB'] = {\n",
    "    'n_estimators': [10, 50, 100], 'learning_rate': [0.05, 0.1, 0.2, 0.5, 1, 2],\n",
    "    'subsample': [0.7, 0.85, 1], 'max_depth': [3, 4, 6, 8]\n",
    "}\n",
    "models['XGB'] = fit_mlmodel(\n",
    "    XGBClassifier(), params_grid['XGB'],\n",
    "    X=X_train_, y=y_train_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (15) LightGBM\n",
    "\n",
    "LightGBM在效率上比XgBoost有所优化。超参数包括`max_depth`, `feature_fraction`, `application`, `boosting_type`等。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 61,
   "metadata": {},
   "outputs": [
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 432 candidates, totalling 2160 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Done 128 tasks      | elapsed:    2.9s\n",
      "[Parallel(n_jobs=-1)]: Done 728 tasks      | elapsed:   14.5s\n",
      "[Parallel(n_jobs=-1)]: Done 2129 tasks      | elapsed:   26.1s\n",
      "[Parallel(n_jobs=-1)]: Done 2160 out of 2160 | elapsed:   26.2s finished\n"
     ]
    },
    {
     "name": "stdout",
     "output_type": "stream",
     "text": [
      "Fitting 5 folds for each of 432 candidates, totalling 2160 fits\n"
     ]
    },
    {
     "name": "stderr",
     "output_type": "stream",
     "text": [
      "[Parallel(n_jobs=-1)]: Using backend LokyBackend with 4 concurrent workers.\n",
      "[Parallel(n_jobs=-1)]: Done 128 tasks      | elapsed:    3.1s\n",
      "[Parallel(n_jobs=-1)]: Done 728 tasks      | elapsed:   12.9s\n",
      "[Parallel(n_jobs=-1)]: Done 2160 out of 2160 | elapsed:   23.3s finished\n"
     ]
    }
   ],
   "source": [
    "params_grid['LightGBM'] = {\n",
    "    'n_estimators': [10, 50, 100], 'learning_rate': [0.05, 0.1, 0.2, 0.5, 1, 2],\n",
    "    'subsample': [0.7, 0.85, 1], 'max_depth': [3, 4, 6, 8],\n",
    "    'boosting_type': ['gbdt', 'rf'], 'application': ['binary']\n",
    "}\n",
    "models['LightGBM'] = fit_mlmodel(\n",
    "    LGBMClassifier(), params_grid['LightGBM'],\n",
    "    X=X_train_, y=y_train_)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "#### (16) ANN\n",
    "\n",
    "用Tensorflow2的Keras API搭一个简单的包括全连接、BN、Dropout隐藏层的浅人工神经网络，看一下预测性能。激活函数用`relu`，启用交叉验证，优化器用adam，学习率设为0.005。迭代200次。\n",
    "\n",
    "数据集用经过哑元转换的`train_data`，共19个特征。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 62,
   "metadata": {},
   "outputs": [],
   "source": [
    "nn = tf.keras.Sequential([\n",
    "    layers.Dense(units=128, input_dim=19,\n",
    "                 activation='relu', \n",
    "                 kernel_initializer='normal',\n",
    "                 bias_initializer='zeros'),\n",
    "    layers.BatchNormalization(),\n",
    "    layers.Dropout(0.2),\n",
    "    layers.Dense(units=2, activation='softmax')\n",
    "])\n",
    "nn.compile(optimizer=tf.keras.optimizers.Adam(0.005),\n",
    "           loss='binary_crossentropy',\n",
    "           metrics=['accuracy'])"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "这是个两分类问题，设定输出层有2个神经元，意味着需要把y的维数调整为2。所以拟合之前，将Survived列哑元化(one-hot)。\n",
    "\n",
    "此外，为了评估模型效果，切出1/3的数据做validation set。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 63,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_ann = X_train.to_numpy()\n",
    "y_ann = pd.get_dummies(y_train).to_numpy()\n",
    "## split the data sets\n",
    "Xnn_tr, Xnn_te, ynn_tr, ynn_te = train_test_split(\n",
    "    X_ann, y_ann, test_size=0.33)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 64,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/plain": [
       "<tensorflow.python.keras.callbacks.History at 0x1a4f37d090>"
      ]
     },
     "execution_count": 64,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "t0 = time.time()\n",
    "t_0 = time.process_time()\n",
    "nn.fit(\n",
    "    Xnn_tr, ynn_tr,\n",
    "    batch_size=128, epochs=200, verbose=0);\n",
    "t1 = time.time()\n",
    "t_1 = time.process_time()\n",
    "models['ANN'] = {\n",
    "    'cpu_time': t_1 - t_0, 'wall_time': t1 - t0, 'params': None,\n",
    "    'model': nn}"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 65,
   "metadata": {},
   "outputs": [],
   "source": [
    "# test it on validation set\n",
    "y_pred = nn.predict_classes(Xnn_te)\n",
    "y_true = ynn_te[:, 1]\n",
    "\n",
    "models['ANN'] = {**models['ANN'], **evl_model(y_true, y_pred)}\n",
    "_, models['ANN']['score'] = nn.evaluate(Xnn_te, ynn_te, verbose=0)"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "### 5.3 模型比较\n",
    "\n",
    "将上述模型的各方面指标拿出来比较一下。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 66,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "text/html": [
       "<div>\n",
       "<style scoped>\n",
       "    .dataframe tbody tr th:only-of-type {\n",
       "        vertical-align: middle;\n",
       "    }\n",
       "\n",
       "    .dataframe tbody tr th {\n",
       "        vertical-align: top;\n",
       "    }\n",
       "\n",
       "    .dataframe thead th {\n",
       "        text-align: right;\n",
       "    }\n",
       "</style>\n",
       "<table border=\"1\" class=\"dataframe\">\n",
       "  <thead>\n",
       "    <tr style=\"text-align: right;\">\n",
       "      <th></th>\n",
       "      <th>accuracy</th>\n",
       "      <th>precision</th>\n",
       "      <th>recall</th>\n",
       "      <th>auc</th>\n",
       "      <th>f1</th>\n",
       "      <th>score</th>\n",
       "      <th>params</th>\n",
       "      <th>cpu_time</th>\n",
       "      <th>wall_time</th>\n",
       "    </tr>\n",
       "  </thead>\n",
       "  <tbody>\n",
       "    <tr>\n",
       "      <th>LightGBM</th>\n",
       "      <td>0.896745</td>\n",
       "      <td>0.893082</td>\n",
       "      <td>0.830409</td>\n",
       "      <td>0.884239</td>\n",
       "      <td>0.860606</td>\n",
       "      <td>0.841761</td>\n",
       "      <td>{'application': 'binary', 'boosting_type': 'gb...</td>\n",
       "      <td>6.33467</td>\n",
       "      <td>23.3975</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>XGB</th>\n",
       "      <td>0.91358</td>\n",
       "      <td>0.912773</td>\n",
       "      <td>0.856725</td>\n",
       "      <td>0.902862</td>\n",
       "      <td>0.883861</td>\n",
       "      <td>0.83952</td>\n",
       "      <td>{'learning_rate': 0.1, 'max_depth': 8, 'n_esti...</td>\n",
       "      <td>4.66657</td>\n",
       "      <td>32.0142</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>GBDT</th>\n",
       "      <td>0.900112</td>\n",
       "      <td>0.901587</td>\n",
       "      <td>0.830409</td>\n",
       "      <td>0.886972</td>\n",
       "      <td>0.864536</td>\n",
       "      <td>0.836143</td>\n",
       "      <td>{'learning_rate': 0.2, 'max_depth': 3, 'n_esti...</td>\n",
       "      <td>6.28705</td>\n",
       "      <td>106.009</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>RandomForest</th>\n",
       "      <td>0.832772</td>\n",
       "      <td>0.804416</td>\n",
       "      <td>0.745614</td>\n",
       "      <td>0.816341</td>\n",
       "      <td>0.7739</td>\n",
       "      <td>0.828266</td>\n",
       "      <td>{'bootstrap': False, 'max_depth': 4, 'max_feat...</td>\n",
       "      <td>8.7726</td>\n",
       "      <td>106.127</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>SVC</th>\n",
       "      <td>0.832772</td>\n",
       "      <td>0.804416</td>\n",
       "      <td>0.745614</td>\n",
       "      <td>0.816341</td>\n",
       "      <td>0.7739</td>\n",
       "      <td>0.828259</td>\n",
       "      <td>{'C': 0.2, 'kernel': 'rbf'}</td>\n",
       "      <td>0.36675</td>\n",
       "      <td>0.947022</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>NuSVC</th>\n",
       "      <td>0.832772</td>\n",
       "      <td>0.806349</td>\n",
       "      <td>0.74269</td>\n",
       "      <td>0.815789</td>\n",
       "      <td>0.773212</td>\n",
       "      <td>0.828259</td>\n",
       "      <td>{'kernel': 'rbf', 'nu': 0.5}</td>\n",
       "      <td>0.324111</td>\n",
       "      <td>1.42038</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>DecisionTree</th>\n",
       "      <td>0.851852</td>\n",
       "      <td>0.85473</td>\n",
       "      <td>0.739766</td>\n",
       "      <td>0.830721</td>\n",
       "      <td>0.793103</td>\n",
       "      <td>0.824939</td>\n",
       "      <td>{'max_depth': 6, 'max_features': 'sqrt', 'min_...</td>\n",
       "      <td>2.48774</td>\n",
       "      <td>6.43259</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ANN</th>\n",
       "      <td>0.823729</td>\n",
       "      <td>0.773196</td>\n",
       "      <td>0.714286</td>\n",
       "      <td>0.799248</td>\n",
       "      <td>0.742574</td>\n",
       "      <td>0.823729</td>\n",
       "      <td>None</td>\n",
       "      <td>53.517</td>\n",
       "      <td>16.8487</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LDA</th>\n",
       "      <td>0.829405</td>\n",
       "      <td>0.795031</td>\n",
       "      <td>0.748538</td>\n",
       "      <td>0.81416</td>\n",
       "      <td>0.771084</td>\n",
       "      <td>0.82266</td>\n",
       "      <td>{'solver': 'svd'}</td>\n",
       "      <td>0.160666</td>\n",
       "      <td>0.184404</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Ridge</th>\n",
       "      <td>0.826038</td>\n",
       "      <td>0.787692</td>\n",
       "      <td>0.748538</td>\n",
       "      <td>0.811427</td>\n",
       "      <td>0.767616</td>\n",
       "      <td>0.82266</td>\n",
       "      <td>{'alpha': 1}</td>\n",
       "      <td>0.152848</td>\n",
       "      <td>0.211274</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>LinearSVC</th>\n",
       "      <td>0.829405</td>\n",
       "      <td>0.79321</td>\n",
       "      <td>0.751462</td>\n",
       "      <td>0.814711</td>\n",
       "      <td>0.771772</td>\n",
       "      <td>0.822654</td>\n",
       "      <td>{'C': 0.2, 'multi_class': 'ovr'}</td>\n",
       "      <td>0.238406</td>\n",
       "      <td>5.35991</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Logistic</th>\n",
       "      <td>0.826038</td>\n",
       "      <td>0.782477</td>\n",
       "      <td>0.75731</td>\n",
       "      <td>0.813081</td>\n",
       "      <td>0.769688</td>\n",
       "      <td>0.820407</td>\n",
       "      <td>{'C': 1, 'multi_class': 'multinomial', 'solver...</td>\n",
       "      <td>0.534049</td>\n",
       "      <td>1.69659</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>QDA</th>\n",
       "      <td>0.83165</td>\n",
       "      <td>0.789157</td>\n",
       "      <td>0.766082</td>\n",
       "      <td>0.819289</td>\n",
       "      <td>0.777448</td>\n",
       "      <td>0.817118</td>\n",
       "      <td>{}</td>\n",
       "      <td>0.088549</td>\n",
       "      <td>0.0740039</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>AdaBoost</th>\n",
       "      <td>0.820426</td>\n",
       "      <td>0.795455</td>\n",
       "      <td>0.716374</td>\n",
       "      <td>0.80081</td>\n",
       "      <td>0.753846</td>\n",
       "      <td>0.813697</td>\n",
       "      <td>{'learning_rate': 0.1, 'n_estimators': 100}</td>\n",
       "      <td>0.677281</td>\n",
       "      <td>7.22614</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>Bagging</th>\n",
       "      <td>0.942761</td>\n",
       "      <td>0.929204</td>\n",
       "      <td>0.921053</td>\n",
       "      <td>0.938668</td>\n",
       "      <td>0.92511</td>\n",
       "      <td>0.808079</td>\n",
       "      <td>{'bootstrap': True, 'n_estimators': 100}</td>\n",
       "      <td>0.326607</td>\n",
       "      <td>3.16604</td>\n",
       "    </tr>\n",
       "    <tr>\n",
       "      <th>ExtraTree</th>\n",
       "      <td>0.942761</td>\n",
       "      <td>0.970874</td>\n",
       "      <td>0.877193</td>\n",
       "      <td>0.9304</td>\n",
       "      <td>0.921659</td>\n",
       "      <td>0.79909</td>\n",
       "      <td>{'criterion': 'entropy', 'max_features': 'sqrt...</td>\n",
       "      <td>0.549009</td>\n",
       "      <td>6.77802</td>\n",
       "    </tr>\n",
       "  </tbody>\n",
       "</table>\n",
       "</div>"
      ],
      "text/plain": [
       "              accuracy precision    recall       auc        f1     score  \\\n",
       "LightGBM      0.896745  0.893082  0.830409  0.884239  0.860606  0.841761   \n",
       "XGB            0.91358  0.912773  0.856725  0.902862  0.883861   0.83952   \n",
       "GBDT          0.900112  0.901587  0.830409  0.886972  0.864536  0.836143   \n",
       "RandomForest  0.832772  0.804416  0.745614  0.816341    0.7739  0.828266   \n",
       "SVC           0.832772  0.804416  0.745614  0.816341    0.7739  0.828259   \n",
       "NuSVC         0.832772  0.806349   0.74269  0.815789  0.773212  0.828259   \n",
       "DecisionTree  0.851852   0.85473  0.739766  0.830721  0.793103  0.824939   \n",
       "ANN           0.823729  0.773196  0.714286  0.799248  0.742574  0.823729   \n",
       "LDA           0.829405  0.795031  0.748538   0.81416  0.771084   0.82266   \n",
       "Ridge         0.826038  0.787692  0.748538  0.811427  0.767616   0.82266   \n",
       "LinearSVC     0.829405   0.79321  0.751462  0.814711  0.771772  0.822654   \n",
       "Logistic      0.826038  0.782477   0.75731  0.813081  0.769688  0.820407   \n",
       "QDA            0.83165  0.789157  0.766082  0.819289  0.777448  0.817118   \n",
       "AdaBoost      0.820426  0.795455  0.716374   0.80081  0.753846  0.813697   \n",
       "Bagging       0.942761  0.929204  0.921053  0.938668   0.92511  0.808079   \n",
       "ExtraTree     0.942761  0.970874  0.877193    0.9304  0.921659   0.79909   \n",
       "\n",
       "                                                         params  cpu_time  \\\n",
       "LightGBM      {'application': 'binary', 'boosting_type': 'gb...   6.33467   \n",
       "XGB           {'learning_rate': 0.1, 'max_depth': 8, 'n_esti...   4.66657   \n",
       "GBDT          {'learning_rate': 0.2, 'max_depth': 3, 'n_esti...   6.28705   \n",
       "RandomForest  {'bootstrap': False, 'max_depth': 4, 'max_feat...    8.7726   \n",
       "SVC                                 {'C': 0.2, 'kernel': 'rbf'}   0.36675   \n",
       "NuSVC                              {'kernel': 'rbf', 'nu': 0.5}  0.324111   \n",
       "DecisionTree  {'max_depth': 6, 'max_features': 'sqrt', 'min_...   2.48774   \n",
       "ANN                                                        None    53.517   \n",
       "LDA                                           {'solver': 'svd'}  0.160666   \n",
       "Ridge                                              {'alpha': 1}  0.152848   \n",
       "LinearSVC                      {'C': 0.2, 'multi_class': 'ovr'}  0.238406   \n",
       "Logistic      {'C': 1, 'multi_class': 'multinomial', 'solver...  0.534049   \n",
       "QDA                                                          {}  0.088549   \n",
       "AdaBoost            {'learning_rate': 0.1, 'n_estimators': 100}  0.677281   \n",
       "Bagging                {'bootstrap': True, 'n_estimators': 100}  0.326607   \n",
       "ExtraTree     {'criterion': 'entropy', 'max_features': 'sqrt...  0.549009   \n",
       "\n",
       "              wall_time  \n",
       "LightGBM        23.3975  \n",
       "XGB             32.0142  \n",
       "GBDT            106.009  \n",
       "RandomForest    106.127  \n",
       "SVC            0.947022  \n",
       "NuSVC           1.42038  \n",
       "DecisionTree    6.43259  \n",
       "ANN             16.8487  \n",
       "LDA            0.184404  \n",
       "Ridge          0.211274  \n",
       "LinearSVC       5.35991  \n",
       "Logistic        1.69659  \n",
       "QDA           0.0740039  \n",
       "AdaBoost        7.22614  \n",
       "Bagging         3.16604  \n",
       "ExtraTree       6.77802  "
      ]
     },
     "execution_count": 66,
     "metadata": {},
     "output_type": "execute_result"
    }
   ],
   "source": [
    "model_prof = pd.DataFrame(models).T.drop('model', axis=1)\n",
    "model_prof.sort_values('score', ascending=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 67,
   "metadata": {},
   "outputs": [],
   "source": [
    "def rank_model_prof(prof:str, df:pd.DataFrame=model_prof):\n",
    "    assert prof in df.columns, 'prof should be one of the columns of df.'\n",
    "    a = df.copy()[[prof]].sort_values(prof, ascending=False).reset_index()\n",
    "    sns.barplot(y='index', x=prof, data=a)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 68,
   "metadata": {},
   "outputs": [
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAwgAAAIWCAYAAADzrqpIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeZgdVZ3/8fcHAgKGTTZRkSgiCAgBAooiiDDuCggKyKhRNOIoKg6O2+gwzoyC++DGREeQGQVGxAUXFpGACypJCIGggmwOjj8NgmERWeL398etLq9td+d20p3b3Xm/nqefrjp1zqlv3b/606eqbqoKSZIkSQJYq98FSJIkSZo4DAiSJEmSWgYESZIkSS0DgiRJkqSWAUGSJElSy4AgSZIkqTWt3wXoL22++eY1Y8aMfpchSZKkKWzBggW3VdUWQx0zIEwwM2bMYP78+f0uQ5IkSVNYkluGO+YtRpIkSZJariBMMA8uvZ2ln/7vfpchSZKkcbbF6/623yUMyRUESZIkSS0DgiRJkqSWAUGSJElSy4AgSZIkqWVAkCRJktQyIEiSJElqGRAkSZIktSZtQEhy9xBtxyZ5+QrGzU7yiWGOvXPQ/lZJvpjkxiQLklye5NDm2NOTLEuyKMniJN9JsmXXOSrJgV1zHdq0Hb4y1ytJkiStDpM2IAylqk6tqjNWYYo2ICQJ8FXgsqp6bFXtCRwJPKqr//eqamZV7QpcAby+69jVwFFd+0cCV61CbZIkSdK4m1IBIcmJSU5otvdq/rN/eZIPJrmmq+sjkpyf5PokH2j6nwSs36wIfAF4BnB/VZ06MKiqbqmqjw9x3gAbAnd0NX8P2DvJOkmmA48DFo31NUuSJEljaUoFhEFOA46tqn2A5YOOzQSOAJ4IHJFkm6p6O3BvsyJwNLAzsHAF53hakkXAL4GDgM91HSvgO8CzgIOBr6/qBUmSJEnjbUoGhCSbABtW1Q+bpi8O6nJxVS2rqj8C1wLb9jDnJ5NcleSKruaBW4y2oRNIPjBo2Fl0bi06EjhzhLnnJJmfZP7v7r5zRaVIkiRJ42ZKBgQgKzh+X9f2cmDaEH2WAHsM7FTV64EDgS2GmfPrwH7dDVX1E2AXYPOqum64YqpqblXNqqpZm03faAWlS5IkSeNnSgaEqroDuCvJk5umI3sc+kCSdZrt7wLrJXld1/ENRhi7L3DDEO3voOvhZ0mSJGkiG+o/55PFBklu7dr/yKDjxwCfSXIPMA9Y1sOcc4HFSRZW1dFJDgE+muQfgKXAPcDbuvoPPIOQZv5XD56wqr7d6wVJkiRJ/Zaq6ncN4yLJ9Kq6u9l+O7B1Vb2pz2Wt0MxtH1sXvf29/S5DkiRJ42yL1/1t386dZEFVzRrq2GReQViR5yV5B51rvAWY3d9yJEmSpIlvygaEqjobOLvfdUiSJEmTyZR8SFmSJEnSyjEgSJIkSWoZECRJkiS1DAiSJEmSWgYESZIkSa0p+xajyWraFg/r6ztxJUmStGZzBUGSJElSy4AgSZIkqWVAkCRJktQyIEiSJElqGRAkSZIktXyL0QTzwNJb+fWn3tbvMiRJkjROtv67k/tdwohcQZAkSZLUMiBIkiRJahkQJEmSJLUMCJIkSZJaBgRJkiRJLQOCJEmSpJYBQZIkSVLLgCBJkiSpZUBYgSTbJLkpycOa/U2b/W2TbJ/kG0luSLIgySVJ9mv6zU6yNMmiJEuSnJNkg/5ejSRJkjQyA8IKVNX/Ap8GTmqaTgLmAr8BvgnMrartqmpP4DjgsV3Dz66qmVW1M3A/cMTqq1ySJEkavWn9LmCS+CiwIMmbgX3pBIGXAZdX1dcHOlXVNcA1gwcnmQY8FLhj9ZQrSZIkrRwDQg+q6oEkbwXOB55ZVfcn2RlYuIKhRyTZF9gauA44b6hOSeYAcwAe+bCNxq5wSZIkaZS8xah3zwF+Dewy1MEkX0lyTZJzu5rPrqqZwMOBq4G3DjW2quZW1ayqmrXZ9PXHum5JkiSpZwaEHiSZCfwN8GTg+CRbA0uAPQb6VNWhwGzgYYPHV1XRWT3Yb3XUK0mSJK0sA8IKJAmdh5TfXFW/BD4IfAj4IvDUJC/s6j7SW4r2BW4Yt0IlSZKkMeAzCCv2GuCXVXVRs/8pOisFewPPBz6S5GN03mp0F/CvXWMHnkFYC7i1GSdJkiRNWAaEFaiquXReazqwvxzYs6vLc4cZdzpw+njWJkmSJI01bzGSJEmS1DIgSJIkSWoZECRJkiS1DAiSJEmSWgYESZIkSS0DgiRJkqSWAUGSJElSy+9BmGDW2eJRbP13J/e7DEmSJK2hXEGQJEmS1DIgSJIkSWoZECRJkiS1DAiSJEmSWgYESZIkSS3fYjTB3LP0F1zxHy/odxmSJEkaQ3u99rx+l9AzVxAkSZIktQwIkiRJkloGBEmSJEktA4IkSZKklgFBkiRJUsuAIEmSJKllQJAkSZLUMiBIkiRJahkQGkm2SvLFJDcmWZDk8iSHJnl6kmVJFiVZnOQ7SbZsxsxOsjTJlUmuT3JBkqc0xz7ZjLk2yb3N9qIkh/f3SiVJkqThGRCAJAG+ClxWVY+tqj2BI4FHNV2+V1Uzq2pX4Arg9V3Dz66q3atqe+Ak4NwkT6iq11fVTOC5wA3N+JlVdc7quzJJkiRpdAwIHc8A7q+qUwcaquqWqvp4d6cmSGwI3DHUJFV1CTAXmDOOtUqSJEnjxoDQsTOwcITjT0uyCPglcBDwuRH6LgR2HM3Jk8xJMj/J/N/fff9ohkqSJEljyoAwhOb5gauSXNE0DdxitA1wGvCBkYaP9nxVNbeqZlXVrE2mr7syJUuSJEljwoDQsQTYY2Cnql4PHAhsMUTfrwP7jTDX7sBPx7Q6SZIkaTUxIHR8F1gvyeu62jYYpu++wA1DHUiyP53nDz4ztuVJkiRJq8e0fhcwEVRVJTkE+GiSfwCWAvcAb2u6DDyDEGAZ8Oqu4Uck2ZdOoLgJOKyqXEGQJEnSpGRAaFTVr+m82nQoGw8z5nTg9BXMezOwyyqUJkmSJK023mIkSZIkqWVAkCRJktQyIEiSJElqGRAkSZIktQwIkiRJkloGBEmSJEktX3M6wTx0i8ex12vP63cZkiRJWkO5giBJkiSpZUCQJEmS1DIgSJIkSWoZECRJkiS1DAiSJEmSWr7FaIL5/W3X87XPPaffZUiSJGklHPyqb/e7hFXmCoIkSZKklgFBkiRJUsuAIEmSJKllQJAkSZLUMiBIkiRJahkQJEmSJLUMCJIkSZJaBgRJkiRJrXELCEmWJ1mU5Jok5yXZZIzmnZ3kE2M0181Jrm7qXJTkKWMx7xDnmZnkueMxtyRJkjSWxnMF4d6qmllVuwC3A68fx3OtigOaOmdW1Q97GZBktN9APRMwIEiSJGnCW123GF0OPBIgyd5Jfpjkyub3Dk377CTnJjk/yfVJPjAwOMkrk1yX5FLgqV3t2ya5OMni5vejm/bTk3w6ySVJbkyyf5LPJflpktNHKnQFc34kySXAyUm2a2pdkOR7SXZs+r24WTW5KsllSdYF3gsc0axSHDGWH6wkSZI0lkb7n/BRS7I2cCDwn03Tz4D9qurBJAcB7wMOa47NBHYH7gN+nuTjwIPAPwN7AsuAS4Arm/6fAM6oqs8neRVwCnBIc2xT4BnAC4Hz6ASLVwNXJJlZVYuafpckWQ7cV1VPWsGcjwcOqqrlSS4Gjq2q65M8CfhUc773AM+qql8l2aSq7k/yHmBWVb1hlT9QSZIkaRyNZ0BYP8kiYAawALioad8Y+HyS7YEC1ukac3FVLQNIci2wLbA5MK+qljbtZ9P5Qx1gH+BFzfZ/AR/omuu8qqokVwO/qaqrm/FLmpoGAsIBVXVb17iR5vxSEw6mA08BvpRk4NhDmt8/AE5P8j/AuSN+Qo0kc4A5AFtstl4vQyRJkqRxMe7PIND5I39d/vwMwr8AlzTPJrwA6P6L+L6u7eX8OcBUj+fs7jcw158GzfsnRheMuue8p/m9FvD7rmcXZlbVEwCq6ljgH4FtgEVJNlvhCarmVtWsqpq10fR1R1GaJEmSNLbG/RmEZkXgjcAJSdahs4Lwq+bw7B6m+DHw9CSbNeNf3HXsh8CRzfbRwPfHoOQVzllVdwI3JXkxQDp2a7a3q6ofV9V7gNvoBIW7gA3HoDZJkiRpXK2Wh5Sr6krgKjp/eH8AeH+SHwBr9zD218CJdB50/g6wsOvwG4FXJlkMvAx40xiU2+ucRwPHJLkKWAIc3LR/sHl16jXAZXSu+xJgJx9SliRJ0kSXql7v3tHq8LgZG9eH3zMuX8cgSZKkcXbwq77d7xJ6kmRBVc0a6pjfpCxJkiSpZUCQJEmS1DIgSJIkSWoZECRJkiS1DAiSJEmSWgYESZIkSS0DgiRJkqTWtH4XoL+0yebbT5r350qSJGnqcQVBkiRJUsuAIEmSJKllQJAkSZLUMiBIkiRJahkQJEmSJLV8i9EEs/R31/Mf//WsfpchSZKklfDal13Q7xJWmSsIkiRJkloGBEmSJEktA4IkSZKklgFBkiRJUsuAIEmSJKllQJAkSZLUMiBIkiRJahkQJEmSJLUMCD1K8q4kS5IsTrIoybeTvH9Qn5lJftpsT0/yH0luaMZdluRJ/alekiRJ6o3fpNyDJPsAzwf2qKr7kmwO7AycBryjq+uRwBeb7c8CNwHbV9WfkjwWeMJqLFuSJEkaNQNCb7YGbquq+wCq6jbg0iS/T/Kkqvpx0+8lwLOSbAc8CTi6qv7UjLkRuLEPtUuSJEk98xaj3lwIbJPkuiSfSrJ/034mnVUDkjwZ+F1VXU9ndWFRVS3vZfIkc5LMTzL/7rvuH4/6JUmSpJ4YEHpQVXcDewJzgKXA2UlmA2cBhydZi05QOHMl559bVbOqatb0Ddcdo6olSZKk0fMWox41qwHzgHlJrgZeUVWnJ7kZ2B84DNin6b4E2C3JWgO3GEmSJEmTgSsIPUiyQ5Ltu5pmArc022cCHwVuqKpbAarqBmA+8M9J0syxfZKDV2PZkiRJ0qgZEHozHfh8kmuTLAZ2Ak5sjn2JzjMHZw0a82rg4cAvmhWHzwD/t3rKlSRJklaOtxj1oKoWAE8Z5thSYJ0h2u8EXjPOpUmSJEljyhUESZIkSS0DgiRJkqSWAUGSJElSy4AgSZIkqWVAkCRJktQyIEiSJElq+ZrTCWaLzbbntS+7oN9lSJIkaQ3lCoIkSZKklgFBkiRJUsuAIEmSJKllQJAkSZLUMiBIkiRJahkQJEmSJLV8zekEc+sd1/O2c57d7zIkSZK0Ek4+/Px+l7DKXEGQJEmS1DIgSJIkSWoZECRJkiS1DAiSJEmSWgYESZIkSS0DgiRJkqSWAUGSJElSa40LCEkqyYe79k9IcuIKxqyV5JQk1yS5OskVSR6T5PQkrx3U95Ak32q2H57krCQ3JLk2ybeSPH5cLkySJEkaA2tcQADuA16UZPNRjDkCeASwa1U9ETgU+D1wJnDkoL5HAmcmCfAVYF5VbVdVOwHvBLZa1QuQJEmSxsuaGBAeBOYCxw8+0KwIHN61f3ezuTXw66r6E0BV3VpVdwDfAXZMsnXTfwPgIOCrwAHAA1V16sB8VbWoqr43PpclSZIkrbo1MSAAfBI4OsnGPfb/H+AFSRYl+XCS3QGqajlwLvCSpt8LgUuq6i5gF2DBGNctSZIkjas1MiBU1Z3AGcAbe+x/K7AD8A7gT8DFSQ5sDnffZnRksz8qSeYkmZ9k/r133j/a4ZIkSdKYWSMDQuNjwDHAQ7vaHqT5TJpnCNYdOFBV91XVt6vqrcD7gEOaQz8Atk6yG/AU4FtN+xJgz14Kqaq5VTWrqmatv9G6Kx4gSZIkjZM1NiBU1e10bh06pqv5Zv78R/3BwDoASfZI8ohmey1gV+CWZp5q5vk88K2q+mMz/rvAQ5K8ZmDyJHsl2X+8rkmSJElaVWtsQGh8GOh+m9FngP2T/AR4EnBP074lcF6Sa4DFdFYaPtE17kxgN+CsgYYmOBwK/E3zmtMlwInA/43PpUiSJEmrblq/C1jdqmp61/ZvgA0G7T+5q/s7mvbzgfNHmPNKIEO0/x9/foBZkiRJmvDW9BUESZIkSV0MCJIkSZJaBgRJkiRJLQOCJEmSpJYBQZIkSVLLgCBJkiSpZUCQJEmS1FrjvgdhonvUpttz8uHDfuWCJEmSNK5cQZAkSZLUMiBIkiRJahkQJEmSJLUMCJIkSZJaBgRJkiRJLd9iNMFc//tbee5X/77fZUiSJGkUvnXIh/tdwphxBUGSJElSy4AgSZIkqWVAkCRJktQyIEiSJElqGRAkSZIktQwIkiRJkloGBEmSJEktA4IkSZKkVt8CQpLlSRYlWZLkqiRvSbJS9SR5b5KDRjh+bJKXr8S8z2pqXJTk7iQ/b7bPWJk6JUmSpImun9+kfG9VzQRIsiXwRWBj4J9GO1FVvWcFx09dmQKr6gLggqbGecAJVTW/u0+Statq+crML0mSJE00E+IWo6r6LTAHeEM61k7ywSRXJFmc5LUDfZP8Q5Krm1WHk5q205Mc3myflOTaZtyHmrYTk5zQbM9M8qPm+FeSbNq0z0tycpKfJLkuydOGqzfJzUnek+T7wIuTPDPJ5UkWJvlSkulNvz2TXJpkQZILkmw9Th+hJEmSNCb6uYLwF6rqxuYWoy2Bg4FlVbVXkocAP0hyIbAjcAjwpKr6Q5KHdc/R7B8K7FhVlWSTIU51BnBcVV2a5L10Vize3BybVlV7J3lu0z7sbUvAH6tq3ySbA+cCB1XVPUneBrwlyfuBjwMHV9XSJEcA/wa8avBESebQCUist8WGPXxakiRJ0viYMAGhkeb3M4FdB1YF6Nx6tD2dP9hPq6o/AFTV7YPG3wn8Efhskm8C3/iLyZONgU2q6tKm6fPAl7q6nNv8XgDMWEGtZze/nwzsRCfEAKwLXA7sAOwCXNS0rw38eqiJqmouMBdg48c9vFZwXkmSJGncTJiAkOSxwHLgt3SCwnHNMwDdfZ4NDPsHdFU9mGRv4EDgSOANwDNGUcZ9ze/lrPizuWegLOCiqjpqUK1PBJZU1T6jOL8kSZLUVxPiGYQkWwCnAp+oqqLzYPDrkqzTHH98kocCFwKvSrJB0z74FqPpwMZV9S06tw3N7D5eVcuAO7qeL3gZcCmr5kfAU5M8rqlhgySPB34ObJFkn6Z9nSQ7r+K5JEmSpHHVzxWE9ZMsAtYBHgT+C/hIc+yzdG7xWZjO/TlLgUOq6vwkM4H5Se4HvgW8s2vODYGvJVmPzn/2jx/ivK8ATm1Cxo3AK1flIprnC2YDZzbPSwD8Y1Vd19widUpza9M04GPAklU5nyRJkjSe0vmHvSaKjR/38Hrqh47udxmSJEkahW8d8uF+lzAqSRZU1ayhjk2IW4wkSZIkTQwGBEmSJEktA4IkSZKklgFBkiRJUsuAIEmSJKllQJAkSZLUMiBIkiRJavXzi9I0hO03edSke4+uJEmSpg5XECRJkiS1DAiSJEmSWgYESZIkSS0DgiRJkqSWAUGSJElSy7cYTTDX//63PO/cj/e7DEmSJPXomy86rt8ljClXECRJkiS1DAiSJEmSWgYESZIkSS0DgiRJkqSWAUGSJElSy4AgSZIkqWVAkCRJktQyIEiSJElqGRB6kOTQJJVkx2Z/RrN/XFefTySZ3WyfnuRXSR7S7G+e5OZ+1C5JkiSNhgGhN0cB3weO7Gr7LfCmJOsOM2Y58KrxLkySJEkaSwaEFUgyHXgqcAx/GRCWAhcDrxhm6MeA45NMG98KJUmSpLFjQFixQ4Dzq+o64PYke3QdOwn4+yRrDzHul3RWHV62ohMkmZNkfpL59y+7e0yKliRJklaGAWHFjgLOarbPavYBqKqbgJ8ALx1m7PuAt7KCz7mq5lbVrKqate7G01e9YkmSJGklefvLCJJsBjwD2CVJAWsDBXyqq9v7gHOAywaPr6pfJFkEvGQ1lCtJkiStMlcQRnY4cEZVbVtVM6pqG+Am4FEDHarqZ8C1wPOHmePfgBPGvVJJkiRpDKx0QBjh7T1TyVHAVwa1fRl456C2f6MrNHSrqiXAwrEvTZIkSRp7Pd1ilGQeMLuqbm729wY+A+w2bpVNAFX19CHaTgFOGdR2FV1hq6pmDzr+ovGpUJIkSRpbvT6D8H7g/CSnAI8EngO8ctyqkiRJktQXPQWEqrogybHARcBtwO5V9f/GtTJJkiRJq11PzyAkeTfwcWA/4ERgXpLnjWNdkiRJkvqg11uMNgf2rqp7gcuTnA98FvjmuFUmSZIkabXraQWhqt4EkGSHZv+Wqvqb8SxMkiRJ0urX6y1GLwAWAec3+zOTfH08C5MkSZK0+vV6i9GJwN7APICqWpTkMeNU0xpt+0225JsvOq7fZUiSJGkN1esXpT1YVcsGtdVYFyNJkiSpv3pdQbgmyUuBtZNsD7wR+OH4lSVJkiSpH3pdQTgO2Bm4DzgTuBN483gVJUmSJKk/ev2itD8A72p+JEmSJE1RIwaEJOcxwrMGVfXCMa9IkiRJUt+saAXhQ83vFwEPB/672T8KuHmcalqj/eKO23n+OV/odxmSJEnqwTcOP7rfJYy5EQNCVV0KkORfqmq/rkPnJblsXCuTJEmStNr1+pDyFkkeO7DTfAfCFuNTkiRJkqR+6fU1p8cD85Lc2OzPAF47LhVJkiRJ6pte32J0fvP9Bzs2TT+rqvvGryxJkiRJ/dDrCgLAnnRWDqYBuyWhqs4Yl6okSZIk9UVPASHJfwHbAYuA5U1zAQYESZIkaQrpdQVhFrBTVQ37nQiSJEmSJr9e32J0DZ3vQZAkSZI0hfUaEDYHrk1yQZKvD/yMZ2ETTZK7h2g7McmvkixKcn2Sc5PsNKjP7kkqybNWX7WSJEnSyun1FqMTx7OISe6jVfUhgCRHAN9N8sSqWtocPwr4fvP7gj7VKEmSJPWk19ecXjrehUwFVXV2kucBLwX+PUmAw4G/Ab6XZL2q+mNfi5QkSZJGMOItRkm+3/y+K8mdXT93Jblz9ZQ46Szkz98X8VTgpqq6AZgHPHeoAUnmJJmfZP79d/qxSpIkqX9GDAhVtW/ze8Oq2qjrZ8Oq2mj1lDjppGv7KOCsZvusZv+vVNXcqppVVbPW3ciPVZIkSf0zmi9KU292B+YnWRs4DHhhknfRCQ6bJdmwqu7qa4WSJEnSMHp9i5F6kOQw4JnAmcBBwFVVtU1VzaiqbYEvA4f0s0ZJkiRpJAaE3m2Q5Naun7c07ccPvOYU+FvgGc0bjI4CvjJoji/TeYBZkiRJmpC8xahHVTVcmDpxmP6zh2j7OrBGfX+EJEmSJhdXECRJkiS1DAiSJEmSWgYESZIkSS0DgiRJkqSWAUGSJElSy4AgSZIkqWVAkCRJktTyexAmmMdt+jC+cfjR/S5DkiRJayhXECRJkiS1DAiSJEmSWgYESZIkSS0DgiRJkqSWAUGSJElSy7cYTTC/uGMZB5/z7X6XIUmSpB587fDn9LuEMecKgiRJkqSWAUGSJElSy4AgSZIkqWVAkCRJktQyIEiSJElqGRAkSZIktQwIkiRJkloGBEmSJEktAwKQZHmSRUmuSXJekk2a9kckOWeYMfOSzFq9lUqSJEnjy4DQcW9VzayqXYDbgdcDVNX/VdXh/S1NkiRJWn0MCH/tcuCRAElmJLmm2V4/yVlJFic5G1h/YECSY5Jc16wqfCbJJ5r2LZJ8OckVzc9T+3FBkiRJUq+m9buAiSTJ2sCBwH8Ocfh1wB+qatckuwILmzGPAN4N7AHcBXwXuKoZ8+/AR6vq+0keDVwAPGGI884B5gCsv/mWY3pNkiRJ0mgYEDrWT7IImAEsAC4aos9+wCkAVbU4yeKmfW/g0qq6HSDJl4DHN8cOAnZKMjDHRkk2rKq7uieuqrnAXIBNttu+xuqiJEmSpNHyFqOOe6tqJrAtsC7NMwhDGOqP9wzRNmAtYJ/m+YaZVfXIweFAkiRJmkgMCF2qahnwRuCEJOsMOnwZcDRAkl2AXZv2nwD7J9k0yTTgsK4xFwJvGNhJMnO8apckSZLGggFhkKq6ks4zBEcOOvRpYHpza9E/0AkGVNWvgPcBPwa+A1wLLGvGvBGY1TzYfC1w7PhfgSRJkrTyfAYBqKrpg/Zf0LW7S9N2L38dGgZ8sarmNisIX6GzckBV3QYcMfYVS5IkSePDFYSxcWLzkPM1wE3AV/tcjyRJkrRSXEEYA1V1Qr9rkCRJksaCKwiSJEmSWgYESZIkSS0DgiRJkqSWAUGSJElSy4eUJ5jHbboxXzv8Of0uQ5IkSWsoVxAkSZIktQwIkiRJkloGBEmSJEktA4IkSZKklgFBkiRJUsu3GE0wN9zxBw7/8sJ+lyFJkqQenHPYHv0uYcy5giBJkiSpZUCQJEmS1DIgSJIkSWoZECRJkiS1DAiSJEmSWgYESZIkSS0DgiRJkqSWAUGSJElSa1IFhCR3D9F2bJKXr4ZzvyrJ1UkWJ7kmycFJZic5c1C/zZMsTfKQJOskOSnJ9c2YnyR5znjXKkmSJK2sSf9NylV16njOnyTANsC7gD2qalmS6cAWwO+ADyXZoKr+0Aw5HPh6Vd2X5CRga2CXZn8rYP/xrFeSJElaFZNqBWEoSU5MckKzPS/Jyc1/6q9L8rSmfe0kH0xyRbMC8NqmfXqSi5MsbFYHDm7aZyT5aZJPAQuBxwB3AXcDVNXdVXVTVd0JXAa8oKukI4Ezk2wAvAY4rqrua8b9pqr+Z3V8LpIkSdLKmPQBYQjTqmpv4M3APzVtxwDLqmovYC/gNUkeA/wROLSq9gAOAD7crBgA7ACcUVW7A98HfgPclOS0JN2B4Ew6oYAkjwAeD1wCPA74ZRMiJEmSpElhKgaEc5vfC4AZzfYzgZcnWQT8GNgM2B4I8L4ki4HvAI8EtmrG3FJVPwKoquXAs+ncPnQd8NEkJzb9vgHsm2Qj4CXAOU3/niWZk2R+kvn33XnHKC9XkiRJGjuT/hmEIdzX/F7On68vdG71uaC7Y5LZdJ4l2LOqHkhyM7Bec/ie7r5VVcBPgJ8kuQg4DTixqu5Ncj5wKJ2VhOObIb8AHp1kw6q6a6SCq2ouMBdg04EXMY8AABbqSURBVO12qtFdriRJkjR2puIKwlAuAF6XZB2AJI9P8lBgY+C3TTg4ANh2qMFJHpFkj66mmcAtXftnAm+hs/owsOrwB+A/gVOSrNvMs3WSvx3bS5MkSZLGzmRbQdggya1d+x/pcdxn6dxutLB5xmApcAjwBeC8JPOBRcDPhhm/Dp23FT2CznMLS4Fju45fCHwe+M9mpWHAPwL/Clyb5I90ViXe02PNkiRJ0mqXv/x7Vv226XY71YEf+O9+lyFJkqQenHPYHivuNAElWVBVs4Y6tqbcYiRJkiSpBwYESZIkSS0DgiRJkqSWAUGSJElSy4AgSZIkqWVAkCRJktQyIEiSJElqTbYvSpvyttt0g0n7Pl1JkiRNfq4gSJIkSWoZECRJkiS1DAiSJEmSWgYESZIkSS0DgiRJkqSWbzGaYP7f7x/g5K/8ut9lSJIkaQRvO3TrfpcwblxBkCRJktQyIEiSJElqGRAkSZIktQwIkiRJkloGBEmSJEktA4IkSZKklgFBkiRJUsuAIEmSJKk15QNCkrvHYI5ZSU4Z4fiMJC/ttb8kSZI0UflNyj2oqvnA/BG6zABeCnyxx/6SJEnShDTlVxCGkmRmkh8lWZzkK0k2bdr3atouT/LBJNc07U9P8o1me/8ki5qfK5NsCJwEPK1pO35Q/+lJTktydTP3Yf26bkmSJGlF1siAAJwBvK2qdgWuBv6paT8NOLaq9gGWDzP2BOD1VTUTeBpwL/B24HtVNbOqPjqo/7uBZVX1xOZ83x08YZI5SeYnmX/Pnb9b5YuTJEmSVtYaFxCSbAxsUlWXNk2fB/ZLsgmwYVX9sGn/4jBT/AD4SJI3NvM8uIJTHgR8cmCnqu4Y3KGq5lbVrKqa9dCNNhvN5UiSJEljao0LCCNIL52q6iTg1cD6wI+S7NjDvLWKtUmSJEmrxRoXEKpqGXBHkqc1TS8DLm3+s39Xkic37UcONT7JdlV1dVWdTOdB5B2Bu4ANhznlhcAbusZvOgaXIUmSJI2LNSEgbJDk1q6ftwCvAD6YZDEwE3hv0/cYYG6Sy+n853/ZEPO9Ock1Sa6i8/zBt4HFwINJrkpy/KD+/wps2jXmgLG/REmSJGlsTPnXnFbVcCHoyUO0LWkeJCbJ22leVVpV84B5zfZxw8x34KD9gf530wkkkiRJ0oQ35QPCKD0vyTvofC63ALP7W44kSZK0ehkQulTV2cDZ/a5DkiRJ6pc14RkESZIkST0yIEiSJElqGRAkSZIktQwIkiRJklo+pDzBPHyTdXjboVv3uwxJkiStoVxBkCRJktQyIEiSJElqGRAkSZIktQwIkiRJkloGBEmSJEktA4IkSZKklq85nWCW3fEg3z77tn6XIUmSpCE854jN+13CuHMFQZIkSVLLgCBJkiSpZUCQJEmS1DIgSJIkSWoZECRJkiS1DAiSJEmSWgYESZIkSS0DwgokeVSSryW5PsmNST6R5CFJnp5kWZIrk/w8yWVJnj9o7LQktyV5f7/qlyRJkkbDgDCCJAHOBb5aVdsD2wPrAx9ounyvqnavqh2ANwKfSHJg1xTPBH4OvKSZS5IkSZrQDAgjewbwx6o6DaCqlgPHAy8Hpnd3rKpFwHuBN3Q1HwX8O/BL4Mmro2BJkiRpVRgQRrYzsKC7oaruBG4GHjdE/4XAjgBJ1gcOBL4BnEknLEiSJEkTmgFhZAFqmPbh+g94PnBJVf0B+DJwaJK1hxyUzEkyP8n8O+/83SoVLEmSJK0KA8LIlgCzuhuSbARsRefZgsF2B37abB8FHJTkZjqrEJsBBwx1kqqaW1WzqmrWRhttNkalS5IkSaNnQBjZxcAGSV4O0KwAfBj4BHBvd8ckuwLvBj7ZhIh9gUdX1YyqmgG8Hm8zkiRJ0gRnQBhBVRVwKHB4kuuB3wF/qqp/a7o8beA1p8AngTdW1cXAi4DvVtV9XdN9DXhhkoesxkuQJEmSRmVavwuY6Krqf4EXAiR5CnBmkj2rah6w8TBjTgdOH9R2O7DFeNYqSZIkrSoDwihU1Q+BbftdhyRJkjRevMVIkiRJUsuAIEmSJKllQJAkSZLUMiBIkiRJahkQJEmSJLUMCJIkSZJavuZ0gtl402k854jN+12GJEmS1lCuIEiSJElqGRAkSZIktQwIkiRJkloGBEmSJEktA4IkSZKklm8xmmDuXfoAS079Tb/LkCRJUmPnY7fqdwmrlSsIkiRJkloGBEmSJEktA4IkSZKklgFBkiRJUsuAIEmSJKllQJAkSZLUMiBIkiRJahkQJEmSJLUmfUBIcmiSSrLjMMfnJZm1gjnmJfl5kkVJfppkzhjXODvJI8ZyTkmSJGk8TPqAABwFfB84chXnObqqZgJPBU5Osu4qV/ZnswEDgiRJkia8SR0Qkkyn8wf9MTQBIcn6Sc5KsjjJ2cD6Xf0/nWR+kiVJ/nmYaacD9wDLmzFHJbk6yTVJTu6a66/ak6yd5PSm7eokxyc5HJgFfKFZoVh/qJNKkiRJE8G0fhewig4Bzq+q65LcnmQP4OnAH6pq1yS7Agu7+r+rqm5PsjZwcZJdq2pxc+wLSe4DtgfeXFXLm9uCTgb2BO4ALkxyCPCTYdr/F3hkVe0CkGSTqvp9kjcAJ1TV/KEuormlaQ7A1g971Jh9OJIkSdJoTeoVBDq3F53VbJ/V7O8H/DdA88f/4q7+L0myELgS2BnYqevY0VW1K/Bo4IQk2wJ7AfOqamlVPQh8oZl/uPYbgccm+XiSZwN39nIRVTW3qmZV1axNpz9s9J+CJEmSNEYm7QpCks2AZwC7JClgbaDo/PFfQ/R/DHACsFdV3ZHkdGC9wf2qamkTIp4E3D/c6YdqbObdDXgW8HrgJcCrRnlpkiRJUt9M5hWEw4EzqmrbqppRVdsAN9G5pehogCS7ALs2/Tei82zBsiRbAc8ZatIkGwC7AzcAPwb2T7J5c1vSUcClw7Un2RxYq6q+DLwb2KOZ9i5gw7G9fEmSJGnsTdoVBDp/lJ80qO3LdP64Xz/JYmARnecFqKqrklwJLKFzK9APBo39QpJ7gYcAp1fVAoAk7wAuobNq8K2q+tpw7c3qwWlJBoLXO5rfpwOnNvPvU1X3jsUHIEmSJI21VP3V3Tjqo5233a3+5x0X9rsMSZIkNXY+dqt+lzDmkiyoqiG/K2wy32IkSZIkaYwZECRJkiS1DAiSJEmSWgYESZIkSS0DgiRJkqSWAUGSJElSy4AgSZIkqTWZvyhtSlp/i3Wm5Lt2JUmSNDm4giBJkiSpZUCQJEmS1DIgSJIkSWoZECRJkiS1DAiSJEmSWr7FaIJ54Dd/5P99+Gf9LkOSJGmN9fC/37HfJfSVKwiSJEmSWgYESZIkSS0DgiRJkqSWAUGSJElSy4AgSZIkqWVAkCRJktQyIEiSJElqGRAkSZIktaZcQEiyPMmiJFclWZjkKeNwjllJThnreSVJkqR+m4rfpHxvVc0ESPIs4P3A/mN5gqqaD8wfyzklSZKkiWDKrSAMshFwB0CS6UkublYVrk5y8ECnJO9O8rMkFyU5M8kJTfteSRYnuTzJB5Nc07Q/Pck3mu0Tk3wuybwkNyZ544rmlSRJkiaqqbiCsH6SRcB6wNbAM5r2PwKHVtWdSTYHfpTk68CewGHA7nQ+j4XAgmbMacCcqvphkpNGOOeOwAHAhsDPk3wa2G2Eef9CkjnAHIBHbvqIlbpoSZIkaSxMxRWEe6tqZlXtCDwbOCNJgADvS7IY+A7wSGArYF/ga1V1b1XdBZwHkGQTYMOq+mEz7xdHOOc3q+q+qroN+O1I8w6lquZW1ayqmrXZQzddlWuXJEmSVslUXEFoVdXlzWrBFsBzm997VtUDSW6ms8qQYYYP1z6U+7q2l9P5XEczXpIkSZoQpuIKQivJjsDawO+AjYHfNuHgAGDbptv3gRckWS/JdOB5AFV1B3BXkic3/Y4c5emHnFeSJEmayKbiCsLAMwjQ+S/+K6pqeZIvAOclmQ8sAn4GUFVXNM8iXAXcQuftRMua8ccAn0lyDzCvq32FVjCvJEmSNCGlqvpdQ98lmV5VdyfZALiMzoPJCwfamz5vB7auqjet6rwjjdltm13qgjefswpXI0mSpFXx8L/fsd8ljLskC6pq1lDHpuIKwsqYm2QnOs8kfL7rj/jnJXkHnc/pFmD2GM0rSZIkTUgGBKCqXjpM+9nA2WM9ryRJkjRRTemHlCVJkiSNjgFBkiRJUsuAIEmSJKllQJAkSZLU8iHlCWadrdZbI16tJUmSpInJFQRJkiRJLQOCJEmSpJYBQZIkSVLLgCBJkiSpZUCQJEmS1PItRhPMg7+9i99+/JJ+lyFJkjSlbXncAf0uYcJyBUGSJElSy4AgSZIkqWVAkCRJktQyIEiSJElqGRAkSZIktQwIkiRJkloGBEmSJEktA4IkSZKk1qQOCEmWJ1nU9fP2FfR/50qc4yvN3L9IsqzrXE9Z+colSZKkiWmyf5PyvVU1cxT93wm8b3BjkgCpqj8NPlZVhzZ9ng6cUFXPHzR2WlU9OKqqJUmSpAlqUq8gDCXJxkl+nmSHZv/MJK9JchKwfvPf/y8kmZHkp0k+BSwEtkny6STzkyxJ8s8jnGN2ki8lOQ+4MMlDk3wuyRVJrkxycNNv7SQfbNoXJ3nt6vgMJEmSpJU12VcQ1k+yqGv//VV1dpI3AKcn+Xdg06r6DECSNwysOCSZAewAvLKq/q5pe1dV3Z5kbeDiJLtW1eJhzr0PsGvT/33Ad6vqVUk2AX6S5DvA0cCyqtoryUOAHyS5sKpuGvNPQpIkSRoDkz0gDHmLUVVdlOTFwCeB3UYYf0tV/ahr/yVJ5tD5XLYGdgKGCwgXVdXtzfYzgRcmOaHZXw94dNO+a5LDm/aNge2BvwgIzTnnADxq061GKFeSJEkaX5M9IAwpyVrAE4B7gYcBtw7T9Z6uMY8BTgD2qqo7kpxO5w/94dzTtR3gsKr6+aA6AhxXVReMVG9VzQXmAsx89A41Ul9JkiRpPE25ZxAaxwM/BY4CPpdknab9ga7twTai80f/siRbAc8ZxfkuAI5rAgFJdu9qf93AOZM8PslDR3cpkiRJ0uoz2VcQBj+DcD7wOeDVwN5VdVeSy4B/BP6Jzn/pFydZCLyre6KquirJlcAS4EbgB6Oo41+AjzVzB7gZeD7wWWAGsLBpXwocMtqLlCRJklaXVHlHy0Qy89E71IVvPbXfZUiSJE1pWx53QL9L6KskC6pq1lDHpuotRpIkSZJWggFBkiRJUsuAIEmSJKllQJAkSZLUMiBIkiRJahkQJEmSJLUMCJIkSZJak/2L0qacaVtuuMa/l1eSJEn94wqCJEmSpJYBQZIkSfr/7d1djF1VGcbx/xOxAbG0KF8CFhCpRUOJ0GIxoKCN1ioZG5qAEAngjRgJXGAgXHDTKCF6QdSQxhA0SgKJfAnyVUyDJZTKFJh2irSkIl+BhOAYasFgh75c7OXmZHJk1k6cvdewn19ykvOx5uSdJ+uck/estc+2miKi6xpsgKR/ATu6rmMWOQh4vesiZgln1YzzasZ5NeO88jmrZpxXM33O66iIOHjYAz4GoTw7ImJJ10XMFpI2O688zqoZ59WM82rGeeVzVs04r2ac13DeYmRmZmZmZjU3CGZmZmZmVnODUJ5fdV3ALOO88jmrZpxXM86rGeeVz1k147yacV5D+CBlMzMzMzOreQXBzMzMzMxqbhA6IGmFpB2Sdkq6asjjkvTz9PhWSSd1UWcpMvJaJOkxSW9LuqKLGkuSkdf5aV5tlbRR0old1FmKjLxGUlZjkjZLOq2LOkswXVYD45ZKekfS6jbrK03G3DpD0htpbo1JuqaLOkuRM79SZmOSnpb057ZrLEnG/PrRwNzall6TH+ui1hJk5DVP0j2StqT5dVEXdRYjInxp8QJ8CPgb8ClgDrAF+OyUMSuB+wEBy4C/dF134XkdAiwFfgxc0XXNsyCvLwIHpuvf8PyaNq+P8t52zMXA9q7rLjWrgXHrgfuA1V3XXXJewBnAH7uutYRLZl7zgb8CC9LtQ7quu+S8pow/C1jfdd0l5wVcDVyXrh8MTABzuq69q4tXENp3CrAzIp6LiP8AtwIjU8aMAL+NyiZgvqRPtF1oIabNKyJei4hRYE8XBRYmJ6+NEfHPdHMTcGTLNZYkJ6/dkT4xgP2Bvh64lfPeBXApcDvwWpvFFSg3L6vk5HUecEdEvAjVe3/LNZak6fz6DnBLK5WVKSevAOZKEtUXQxPAZLtllsMNQvuOAF4auP1yuq/pmL5wFs00zet7VKtVfZWVl6RVkrYD9wIXt1RbaabNStIRwCpgbYt1lSr3tXhq2tJwv6TPtVNakXLyWggcKOlhSU9IuqC16sqT/V4v6SPACqrGva9y8volcDzwCjAOXBYRe9sprzw+k3L7NOS+qd9I5ozpC2fRTHZeks6kahB6u6eezLwi4k7gTklfAtYAy2e6sALlZHU9cGVEvFN9CddrOXk9CRwVEbslrQTuAo6b8crKlJPXPsDJwFeB/YDHJG2KiGdnurgCNflsPAt4NCImZrCe0uXk9XVgDPgKcCzwkKRHImLXTBdXIq8gtO9l4JMDt4+k6labjukLZ9FMVl6SFgM3AiMR8Y+WaitRo/kVERuAYyUdNNOFFSgnqyXArZKeB1YDN0j6djvlFWfavCJiV0TsTtfvAz7c07kF+Z+ND0TEmxHxOrAB6OuPLDR57zqXfm8vgry8LqLawhYRsRP4O7CopfqK4wahfaPAcZKOkTSH6oV795QxdwMXpF8zWga8ERGvtl1oIXLysvdMm5ekBcAdwHd7+s3boJy8Pp32pJJ+UWwO0MematqsIuKYiDg6Io4GbgN+EBF3tV9qEXLm1mEDc+sUqs/kPs4tyHuv/wNwuqR90raZLwDPtFxnKbI+GyXNA75MlV2f5eT1ItXqFJIOBT4DPNdqlQXxFqOWRcSkpB8CD1IdVX9TRDwt6fvp8bVUv/6xEtgJvEXV1fZSTl6SDgM2AwcAeyVdTvXrBL1bFsycX9cAH6f6dhdgMiKWdFVzlzLzOpuqYd8D/Bs4Z+Cg5d7IzMqSzLxWA5dImqSaW+f2cW5BXl4R8YykB4CtwF7gxojY1l3V3WnwelwFrIuINzsqtQiZea0BfiNpnGpL0pVppaqXfCZlMzMzMzOreYuRmZmZmZnV3CCYmZmZmVnNDYKZmZmZmdXcIJiZmZmZWc0NgpmZmZmZ1dwgmJmZmZlZzQ2CmZl9YEny+X7MzBpyg2BmZkWRtL+keyVtkbRN0jmSlkramO57XNJcSftK+rWkcUlPSToz/f2Fkn4v6R5gXXq+mySNpnEjHf+LZmZF8zcrZmZWmhXAKxHxTQBJ84CnqM5iPSrpAKozD18GEBEnSFpE1QwsTM9xKrA4IiYk/QRYHxEXS5oPPC7pT30/u6yZ2f/iFQQzMyvNOLBc0nWSTgcWAK9GxChAROyKiEngNOB36b7twAvAfxuEhyJiIl3/GnCVpDHgYWDf9JxmZjaEVxDMzKwoEfGspJOBlcC1wDoghgzV+zzN4OqAgLMjYsf/r0ozsw8uryCYmVlRJB0OvBURNwM/A5YBh0tamh6fmw4+3gCcn+5bSLUqMKwJeBC4VJLS2M/P/H9hZjZ7eQXBzMxKcwLwU0l7gT3AJVSrAL+QtB/V8QfLgRuAtZLGgUngwoh4O/UBg9YA1wNbU5PwPPCtNv4RM7PZSBHDVm3NzMzMzKyPvMXIzMzMzMxqbhDMzMzMzKzmBsHMzMzMzGpuEMzMzMzMrOYGwczMzMzMam4QzMzMzMys5gbBzMzMzMxqbhDMzMzMzKz2Lu2x7rzimGccAAAAAElFTkSuQmCC\n",
      "text/plain": [
       "<Figure size 864x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "iVBORw0KGgoAAAANSUhEUgAAAwgAAAIWCAYAAADzrqpIAAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAALEgAACxIB0t1+/AAAADh0RVh0U29mdHdhcmUAbWF0cGxvdGxpYiB2ZXJzaW9uMy4yLjIsIGh0dHA6Ly9tYXRwbG90bGliLm9yZy+WH4yJAAAgAElEQVR4nOzdeZheZX3/8fcHAhIMmwQRBYkgikAhQEBQBBXqroBQAakat4hVrFhaRatSWxXci2ujFaRVoO7iAiIScEEhCSEQFJDNYv1pEAxbZInf3x/PmePjOGsyk2dm8n5d11xzzn3u+z7f8/w1n7nPOU+qCkmSJEkCWK/XBUiSJEmaOAwIkiRJkloGBEmSJEktA4IkSZKklgFBkiRJUsuAIEmSJKk1rdcF6M/NnDmzZs2a1esyJEmSNIUtWrTotqraaqBjBoQJZtasWSxcuLDXZUiSJGkKS3LLYMe8xUiSJElSyxWECebB5bez/JP/3esyJEmSNM62eu3f9rqEAbmCIEmSJKllQJAkSZLUMiBIkiRJahkQJEmSJLUMCJIkSZJaBgRJkiRJLQOCJEmSpNakDghJViVZ0vXzlmH6v3U1zvHVZu5fJFnRda4nrX7lkiRJ0sQ02b8obWVVzR5F/7cC7+nfmCRAquqP/Y9V1eFNn6cCJ1bV8/qNnVZVD46qakmSJGmCmtQrCANJslmSa5M8vtk/K8mrk5wCTG/++//5JLOS/CzJJ4DFwHZJPplkYZJlSf5liHPMTfLFJOcC303y0CSfTXJ5kiuSHNr0Wz/J+5v2pUleszY+A0mSJGl1TfYVhOlJlnTtv7eqzknyeuCMJP8ObFFVnwZI8vq+FYcks4DHAy+vqr9r2t5WVbcnWR+4MMnuVbV0kHPvD+ze9H8P8P2qekWSzYHLknwPOBZYUVX7JHkI8KMk362qm8b8k5AkSZLGwGQPCAPeYlRVFyT5G+DjwB5DjL+lqn7Stf+iJPPofC7bALsAgwWEC6rq9mb7GcALkpzY7G8EPLpp3z3JkU37ZsBOwJ8FhOac8wC2fdiWQ5QrSZIkja/JHhAGlGQ94AnASuBhwK2DdL2na8xjgBOBfarqjiRn0PlDfzD3dG0HOKKqru1XR4Djq+r8oeqtqvnAfIDZ2+9QQ/WVJEmSxtOUewahcQLwM+AY4LNJNmjaH+ja7m9TOn/0r0iyNfDsUZzvfOD4JhCQZM+u9tf2nTPJ45I8dHSXIkmSJK09k30Fof8zCOcBnwVeBexbVXcluQT4Z+CddP5LvzTJYuBt3RNV1ZVJrgCWATcCPxpFHf8KfKSZO8DNwPOAzwCzgMVN+3LgsNFepCRJkrS2pMo7WiaS2dvvUBe85V29LkOSJEnjbKvX/m3Pzp1kUVXNGejYVL3FSJIkSdJqMCBIkiRJahkQJEmSJLUMCJIkSZJaBgRJkiRJLQOCJEmSpJYBQZIkSVJrsn9R2pQzbauH9fSduJIkSVq3uYIgSZIkqWVAkCRJktQyIEiSJElqGRAkSZIktQwIkiRJklq+xWiCeWD5rfz6E2/udRmSJEnrnG3+7tRelzAhuIIgSZIkqWVAkCRJktQyIEiSJElqGRAkSZIktQwIkiRJkloGBEmSJEktA4IkSZKklgFBkiRJUmvKBYQkq5IsSXJlksVJnjQO55iT5LSxnleSJEnqtan4Tcorq2o2QJJnAu8FDhrLE1TVQmDhWM4pSZIkTQRTbgWhn02BOwCSzEhyYbOqcFWSQ/s6JXl7kp8nuSDJWUlObNr3SbI0yaVJ3p/k6qb9qUm+2WyfnOSzSRYkuTHJG4abV5IkSZqopuIKwvQkS4CNgG2ApzftfwAOr6o7k8wEfpLkG8DewBHAnnQ+j8XAombM6cC8qvpxklOGOOfOwNOATYBrk3wS2GOIef9MknnAPIBHPWzT1bpoSZIkaSxMxRWElVU1u6p2Bp4FnJkkQID3JFkKfA94FLA1cADw9apaWVV3AecCJNkc2KSqftzM+4Uhzvmtqrqvqm4DfjvUvAOpqvlVNaeq5mw5Y/qaXLskSZK0RqbiCkKrqi5tVgu2Ap7T/N67qh5IcjOdVYYMMnyw9oHc17W9is7nOprxkiRJ0oQwFVcQWkl2BtYHfgdsBvy2CQdPA7Zvuv0QeH6SjZLMAJ4LUFV3AHcl2a/pd/QoTz/gvJIkSdJENhVXEPqeQYDOf/FfVlWrknweODfJQmAJ8HOAqrq8eRbhSuAWOm8nWtGMfyXw6ST3AAu62oc1zLySJEnShDTlAkJVrT9I+23A/oMM+0BVnZxkY+AS4INN+7Kq2h0gyVtoXm1aVQvoBAaq6uR+59ltBPNKkiRJE9KUCwiraX6SXeg8k/C5qlrctD83yUl0PqdbgLljNK8kSZI0IRkQgKp68SDt5wDnjPW8kiRJ0kQ1pR9SliRJkjQ6BgRJkiRJLQOCJEmSpJYBQZIkSVLLgCBJkiSp5VuMJpgNttqWbf7u1F6XIUmSpHWUKwiSJEmSWgYESZIkSS0DgiRJkqSWAUGSJElSy4AgSZIkqeVbjCaYe5b/gsv/4/m9LkOSJGlK2Oc15/a6hEnHFQRJkiRJLQOCJEmSpJYBQZIkSVLLgCBJkiSpZUCQJEmS1DIgSJIkSWoZECRJkiS1DAiSJEmSWgaEYSTZLslNSR7W7G/R7G+fZKck30xyQ5JFSS5KcmDTb26S5UmWJFmW5EtJNu7t1UiSJElDMyAMo6r+F/gkcErTdAowH/gN8C1gflXtWFV7A8cDO3QNP6eqZlfVrsD9wFFrr3JJkiRp9Kb1uoBJ4sPAoiRvBA6gEwReAlxaVd/o61RVVwNX9x+cZBrwUOCOtVOuJEmStHoMCCNQVQ8k+UfgPOAZVXV/kl2BxcMMPSrJAcA2wHXAuQN1SjIPmAfwiIdNH7vCJUmSpFHyFqORezbwa2C3gQ4m+WqSq5N8pav5nKqaDTwCuAr4x4HGVtX8qppTVXM2n7HhWNctSZIkjZgBYQSSzAb+GtgPOCHJNsAyYK++PlV1ODAXeFj/8VVVdFYPDlwb9UqSJEmry4AwjCSh85DyG6vql8D7gQ8AXwCenOQFXd2HekvRAcAN41aoJEmSNAZ8BmF4rwZ+WVUXNPufoLNSsC/wPOBDST5C561GdwH/1jW27xmE9YBbm3GSJEnShGVAGEZVzafzWtO+/VXA3l1dnjPIuDOAM8azNkmSJGmseYuRJEmSpJYBQZIkSVLLgCBJkiSpZUCQJEmS1DIgSJIkSWoZECRJkiS1fM3pBPPQrR7LPq85t9dlSJIkaR3lCoIkSZKklgFBkiRJUsuAIEmSJKllQJAkSZLUMiBIkiRJavkWownm97ddz9c/++xelyFJkjRpHPqK7/S6hCnFFQRJkiRJLQOCJEmSpJYBQZIkSVLLgCBJkiSpZUCQJEmS1DIgSJIkSWoZECRJkiS1DAiSJEmSWgaERpKtk3whyY1JFiW5NMnhSZ6aZEWSJUmWJvlekoc3Y+YmWZ7kiiTXJzk/yZOaYx9vxlyTZGWzvSTJkb29UkmSJGlwBgQgSYCvAZdU1Q5VtTdwNLBt0+UHVTW7qnYHLgde1zX8nKras6p2Ak4BvpLkCVX1uqqaDTwHuKEZP7uqvrT2rkySJEkaHQNCx9OB+6vqU30NVXVLVX20u1MTJDYB7hhokqq6CJgPzBvHWiVJkqRxY0Do2BVYPMTxpyRZAvwSOAT47BB9FwM7j2FtkiRJ0lpjQBhA8/zAlUkub5r6bjHaDjgdeN9Qw1fjfPOSLEyy8M6771+dkiVJkqQxYUDoWAbs1bdTVa8DDga2GqDvN4ADh5hrT+Bnozl5Vc2vqjlVNWfTGRuOZqgkSZI0pgwIHd8HNkry2q62jQfpewBww0AHkhxE5/mDT49teZIkSdLaMa3XBUwEVVVJDgM+nOSfgOXAPcCbmy59zyAEWAG8qmv4UUkOoBMobgKOqKpRrSBIkiRJE4UBoVFVv6bzatOBbDbImDOAM4aZ92ZgtzUoTZIkSVprvMVIkiRJUsuAIEmSJKllQJAkSZLUMiBIkiRJahkQJEmSJLUMCJIkSZJaBgRJkiRJLb8HYYLZfOZOHPqK7/S6DEmSJK2jXEGQJEmS1DIgSJIkSWoZECRJkiS1DAiSJEmSWgYESZIkSS3fYjTBLP/d9fzHfz2z12VIkiRNOK95yfm9LmGd4AqCJEmSpJYBQZIkSVLLgCBJkiSpZUCQJEmS1DIgSJIkSWoZECRJkiS1DAiSJEmSWgYESZIkSa1JGxCS3D1A23FJXjrMuLlJPjbIsbf22986yReS3JhkUZJLkxzeHHtqkhVJliRZmuR7SR7edY5KcnDXXIc3bUeuzvVKkiRJa8OkDQgDqapPVdWZazBFGxCSBPgacElV7VBVewNHA9t29f9BVc2uqt2By4HXdR27Cjima/9o4Mo1qE2SJEkad1MqICQ5OcmJzfY+zX/2L03y/iRXd3V9ZJLzklyf5H1N/1OA6c2KwOeBpwP3V9Wn+gZV1S1V9dEBzhtgE+COruYfAPsm2SDJDOCxwJKxvmZJkiRpLE2pgNDP6cBxVbU/sKrfsdnAUcBfAUcl2a6q3gKsbFYEjgV2BRYPc46nJFkC/BI4BPhs17ECvgc8EzgU+MZgkySZl2RhkoV333X/yK9QkiRJGmNTMiAk2RzYpKp+3DR9oV+XC6tqRVX9AbgG2H4Ec348yZVJLu9q7rvFaDs6geR9/YadTefWoqOBswabu6rmV9WcqpozY5MNhytFkiRJGjdTMiAAGeb4fV3bq4BpA/RZBuzVt1NVrwMOBrYaZM5vAAd2N1TVZcBuwMyqum6YmiRJkqSem5IBoaruAO5Ksl/TdPQIhz6QZINm+/vARkle23V84yHGHgDcMED7SXQ9/CxJkiRNZAP953yy2DjJrV37H+p3/JXAp5PcAywAVoxgzvnA0iSLq+rYJIcBH07yT8By4B7gzV39+55BSDP/q/pPWFXfGekFSZIkSb2Wqup1DeMiyYyqurvZfguwTVX9fY/LGtb2j9ms3vqu/YbvKEmStI55zUvO73UJU0aSRVU1Z6Bjk3kFYTjPTXISnWu8BZjb23IkSZKkiW/KBoSqOgc4p9d1SJIkSZPJlHxIWZIkSdLqMSBIkiRJahkQJEmSJLUMCJIkSZJaU/Yh5clqqy138hVekiRJ6hlXECRJkiS1DAiSJEmSWgYESZIkSS0DgiRJkqSWAUGSJElSy4AgSZIkqeVrTieYW++4njd/6Vm9LkOSJGlUTj3yvF6XoDHiCoIkSZKklgFBkiRJUsuAIEmSJKllQJAkSZLUMiBIkiRJahkQJEmSJLUMCJIkSZJaPQsISVYlWZJkWZIrk7wpyWrVk+RdSQ4Z4vhxSV66GvM+s6lxSZK7k1zbbJ+5OnVKkiRJE10vvyhtZVXNBkjycOALwGbAO0c7UVW9Y5jjn1qdAqvqfOD8psYFwIlVtbC7T5L1q2rV6swvSZIkTTQT4hajqvotMA94fTrWT/L+JJcnWZrkNX19k/xTkquaVYdTmrYzkhzZbJ+S5Jpm3AeatpOTnNhsz07yk+b4V5Ns0bQvSHJqksuSXJfkKYPVm+TmJO9I8kPgb5I8I8mlSRYn+WKSGU2/vZNcnGRRkvOTbDNOH6EkSZI0Jnq5gvBnqurG5hajhwOHAiuqap8kDwF+lOS7wM7AYcATq+reJA/rnqPZPxzYuaoqyeYDnOpM4PiqujjJu+isWLyxOTatqvZN8pymfdDbloA/VNUBSWYCXwEOqap7krwZeFOS9wIfBQ6tquVJjgLeDbxidT4fSZIkaW2YMAGhkeb3M4Dd+1YF6Nx6tBOdP9hPr6p7Aarq9n7j7wT+AHwmybeAb/7Z5MlmwOZVdXHT9Dngi11dvtL8XgTMGqbWc5rf+wG70AkxABsClwKPB3YDLmja1wd+PeBFJ/PorKCw6cyNhjmtJEmSNH4mTEBIsgOwCvgtnaBwfPMMQHefZwE12BxV9WCSfYGDgaOB1wNPH0UZ9zW/VzH8Z3NPX1nABVV1TL9a/wpYVlX7D3fSqpoPzAd4xI6bDXp9kiRJ0nibEM8gJNkK+BTwsaoqOg8GvzbJBs3xxyV5KPBd4BVJNm7a+99iNAPYrKq+Tee2odndx6tqBXBH1/MFLwEuZs38BHhyksc2NWyc5HHAtcBWSfZv2jdIsusankuSJEkaV71cQZieZAmwAfAg8F/Ah5pjn6Fzi8/idO7PWQ4cVlXnJZkNLExyP/Bt4K1dc24CfD3JRnT+s3/CAOd9GfCpJmTcCLx8TS6ieb5gLnBW87wEwD9X1XXNLVKnNbc2TQM+Aixbk/NJkiRJ4ymdf9hronjEjpvVy04d9q4kSZKkCeXUI8/rdQkahSSLqmrOQMcmxC1GkiRJkiYGA4IkSZKklgFBkiRJUsuAIEmSJKllQJAkSZLUMiBIkiRJahkQJEmSJLV6+UVpGsC2W+zke4QlSZLUM64gSJIkSWoZECRJkiS1DAiSJEmSWgYESZIkSS0DgiRJkqSWbzGaYK7//a0852v/0OsyJEnSJPPtwz7Y6xI0RbiCIEmSJKllQJAkSZLUMiBIkiRJahkQJEmSJLUMCJIkSZJaBgRJkiRJLQOCJEmSpJYBQZIkSVJrnQsISSrJB7v2T0xy8jBj1ktyWpKrk1yV5PIkj0lyRpLX9Ot7WJJvN9uPSHJ2khuSXJPk20keNy4XJkmSJI2BdS4gAPcBL0wycxRjjgIeCexeVX8FHA78HjgLOLpf36OBs5IE+CqwoKp2rKpdgLcCW6/pBUiSJEnjZV0MCA8C84ET+h9oVgSO7Nq/u9ncBvh1Vf0RoKpurao7gO8BOyfZpum/MXAI8DXgacADVfWpvvmqaklV/WB8LkuSJElac+tiQAD4OHBsks1G2P9/gOcnWZLkg0n2BKiqVcBXgBc1/V4AXFRVdwG7AYtGMnmSeUkWJll4/533jupCJEmSpLG0TgaEqroTOBN4wwj73wo8HjgJ+CNwYZKDm8Pdtxkd3eyPtp75VTWnquZsuOnGox0uSZIkjZl1MiA0PgK8EnhoV9uDNJ9J8wzBhn0Hquq+qvpOVf0j8B7gsObQj4BtkuwBPAn4dtO+DNh7XK9AkiRJGmPrbECoqtvp3Dr0yq7mm/nTH/WHAhsAJNkrySOb7fWA3YFbmnmqmedzwLer6g/N+O8DD0ny6r7Jk+yT5KDxuiZJkiRpTa2zAaHxQaD7bUafBg5KchnwROCepv3hwLlJrgaW0llp+FjXuLOAPYCz+xqa4HA48NfNa06XAScD/zc+lyJJkiStuWm9LmBtq6oZXdu/ATbut79fV/eTmvbzgPOGmPMKIAO0/x9/eoBZkiRJmvDW9RUESZIkSV0MCJIkSZJaBgRJkiRJLQOCJEmSpJYBQZIkSVLLgCBJkiSpZUCQJEmS1Frnvgdhottp82359mEf7HUZkiRJWke5giBJkiSpZUCQJEmS1DIgSJIkSWoZECRJkiS1DAiSJEmSWr7FaIK5/ve/5blf+Wivy5AkSZPIt154fK9L0BTiCoIkSZKklgFBkiRJUsuAIEmSJKllQJAkSZLUMiBIkiRJahkQJEmSJLUMCJIkSZJaBgRJkiRJLQPCCCV5W5JlSZYmWZLkO0ne26/P7CQ/a7ZnJPmPJDc04y5J8sTeVC9JkiSNjN+kPAJJ9geeB+xVVfclmQnsCpwOnNTV9WjgC832Z4CbgJ2q6o9JdgCesBbLliRJkkbNgDAy2wC3VdV9AFV1G3Bxkt8neWJV/bTp9yLgmUl2BJ4IHFtVf2zG3Ajc2IPaJUmSpBHzFqOR+S6wXZLrknwiyUFN+1l0Vg1Ish/wu6q6ns7qwpKqWjWSyZPMS7IwycL7V9w9HvVLkiRJI2JAGIGquhvYG5gHLAfOSTIXOBs4Msl6dILCWas5//yqmlNVczbcbMYYVS1JkiSNnrcYjVCzGrAAWJDkKuBlVXVGkpuBg4AjgP2b7suAPZKs13eLkSRJkjQZuIIwAkken2SnrqbZwC3N9lnAh4EbqupWgKq6AVgI/EuSNHPslOTQtVi2JEmSNGqrHRCSbDiWhUxwM4DPJbkmyVJgF+Dk5tgX6TxzcHa/Ma8CHgH8ollx+DTwf2unXEmSJGn1jOgWoyQLgLlVdXOzvy+dP3j3GLfKJpCqWgQ8aZBjy4ENBmi/E3j1OJcmSZIkjamRPoPwXuC8JKcBjwKeDbx83KqSJEmS1BMjCghVdX6S44ALgNuAPavq/41rZZIkSZLWuhE9g5Dk7cBHgQPp3Hu/IMlzx7EuSZIkST0w0luMZgL7VtVK4NIk5wGfAb41bpVJkiRJWutGtIJQVX8Pndd9Nvu3VNVfj2dhkiRJkta+kd5i9HxgCXBesz87yTfGszBJkiRJa99IbzE6GdiXzjcJU1VLkjxmnGpap+20+cP51guP73UZkiRJWkeN9IvSHqyqFf3aaqyLkSRJktRbI11BuDrJi4H1k+wEvAH48fiVJUmSJKkXRrqCcDywK3AfcBZwJ/DG8SpKkiRJUm+M9IvS7gXe1vxIkiRJmqKGDAhJzmWIZw2q6gVjXpEkSZKknhluBeEDze8XAo8A/rvZPwa4eZxqWqf94o7bed6XPt/rMiRJ0iTyzSOP7XUJmkKGDAhVdTFAkn+tqgO7Dp2b5JJxrUySJEnSWjfSh5S3SrJD307zHQhbjU9JkiRJknplpK85PQFYkOTGZn8W8JpxqUiSJElSz4z0LUbnNd9/sHPT9POqum/8ypIkSZLUCyNdQQDYm87KwTRgjyRU1ZnjUpUkSZKknhhRQEjyX8COwBJgVdNcgAFBkiRJmkJGuoIwB9ilqgb9TgRJkiRJk99I32J0NZ3vQZAkSZI0hY10BWEmcE2Sy4D24eShvkk5ySrgquYcNwEvqarfr0GtffPOBeZU1evHYK6bgbv4021Tf1dVP17TeQc4z2zgkVX17bGeW5IkSRpLIw0IJ6/G3CurajZAks8BrwPevRrzjLenVdVtoxmQZFpVPTiKIbPp3KZlQJAkSdKENtLXnF68hue5FNgdIMm+wEeA6cBK4OVVdW2zMvACYGM6D0R/tar+qRnzcuAk4NfAdTSrGEm2Bz5L50vbljdz/TLJGc3cOwPbAy8HXgbsD/y0quYOVugwc94O7AksTvIJ4ONNv3uBV1fVz5P8DfBOOqsSK4BDgHcB05McALy3qs5Z3Q9SkiRJGk9DBoQkP6yqA5LcReetRe0hoKpq0+FOkGR94GDgP5umnwMHVtWDSQ4B3gMc0RybTecP8PuAa5N8FHgQ+Bc6r1ldAVwEXNH0/xhwZlV9LskrgNOAw5pjWwBPpxM6zgWeDLwKuDzJ7Kpa0vS7qLkd6r6qeuIwcz4OOKSqViW5EDiuqq5P8kTgE8353gE8s6p+lWTzqro/yTsY4raoJPOAeQDTZ2453EcqSZIkjZshA0JVHdD83mQ15p6eZAmd705YBFzQtG8GfK754rUCNugac2FVrQBIcg2d//7PBBZU1fKm/Rw6f6hDZ0Xghc32fwHv65rr3KqqJFcBv6mqq5rxy5qa+gJC/1uMhprzi004mAE8Cfhikr5jD2l+/wg4I8n/AF8Z8hNqVNV8YD7A5jvu4JuiJEmS1DMjfYvR6uh7BmF7YEM6zyAA/CtwUVXtBjwf2KhrTPe3M6/iTwFmpH80d/frm+uP/eb9I6P7grjuOe9pfq8H/L6qZnf9PAGgqo4D/hnYDliSxCUBSZIkTRrjGRAAaFYE3gCcmGQDOisIv2oOzx3BFD8Fnppky2b833Qd+zFwdLN9LPDDMSh52Dmr6k7gpuZ5A9KxR7O9Y1X9tKreAdxGJyjcBazOKowkSZK0Vo17QACoqiuAK+n84f0+4L1JfgSsP4Kxv6bzFqVLge8Bi7sOvwF4eZKlwEuAvx+Dckc657HAK5NcCSwDDm3a35/kqiRXA5fQue6LgF2SLEly1BjUKEmSJI2L+OXIE8vmO+5QB5z6r70uQ5IkTSLfPPLYXpegSSbJoqqaM9CxtbKCIEmSJGlyMCBIkiRJahkQJEmSJLUMCJIkSZJaBgRJkiRJLQOCJEmSpJYBQZIkSVJrWq8L0J977BYP813GkiRJ6hlXECRJkiS1DAiSJEmSWgYESZIkSS0DgiRJkqSWAUGSJElSy7cYTTC/uGMFh37pO70uQ5IkTUBfP/LZvS5B6wBXECRJkiS1DAiSJEmSWgYESZIkSS0DgiRJkqSWAUGSJElSy4AgSZIkqWVAkCRJktQyIEiSJElqTfqAkOTwJJVk50GOL0gyZ5g5FiS5NsmSJD9LMm+Ma5yb5JFjOackSZI0HiZ9QACOAX4IHL2G8xxbVbOBJwOnJtlwjSv7k7mAAUGSJEkT3qQOCElm0PmD/pU0ASHJ9CRnJ1ma5Bxgelf/TyZZmGRZkn8ZZNoZwD3AqmbMMUmuSnJ1klO75vqL9iTrJzmjabsqyQlJjgTmAJ9vViimD3RSSZIkaSKY1usC1tBhwHlVdV2S25PsBTwVuLeqdk+yO7C4q//bqur2JOsDFybZvaqWNsc+n+Q+YCfgjVW1qrkt6FRgb+AO4LtJDgMuG6T9f4FHVdVuAEk2r6rfJ3k9cGJVLRzoIppbmuYBTJ/58DH7cCRJkqTRmtQrCHRuLzq72T672T8Q+G+A5o//pV39X5RkMXAFsCuwS9exY6tqd+DRwIlJtgf2ARZU1fKqehD4fDP/YO03Ajsk+WiSZwF3juQiqmp+Vc2pqjkbbrrp6D8FSZIkaYxM2hWEJFsCTwd2S1LA+kDR+eO/Buj/GOBEYJ+quiPJGcBG/ftV1fImRDwRuH+w0w/U2My7B/BM4HXAi4BXjPLSJEmSpJ6ZzCsIRwJnVtX2VTWrqrYDbqJzS9GxAEl2A3Zv+m9K59mCFUm2Bp490KRJNgb2BG4AfgoclGRmc1vSMcDFg7UnmQmsV1VfBt4O7NVMexewydheviRJkjT2Ju0KAp0/yk/p1/ZlOn/cT0+yFFhC53kBqurKJFcAy+jcCvSjfmM/n2Ql8BDgjKpaBJDkJOAiOqsG366qrw/W3qwenJ6kL3id1Pw+A/hUM//+VbVyLD4ASZIkaayl6mFnCH8AABY4SURBVC/uxlEPbb7jTnXQqaf1ugxJkjQBff3IAW+AkEYtyaKqGvC7wibzLUaSJEmSxpgBQZIkSVLLgCBJkiSpZUCQJEmS1DIgSJIkSWoZECRJkiS1JvP3IExJj91iM19hJkmSpJ5xBUGSJElSy4AgSZIkqWVAkCRJktQyIEiSJElqGRAkSZIktXyL0QRzwx33cuSXF/e6DEmSNAF96Yi9el2C1gGuIEiSJElqGRAkSZIktQwIkiRJkloGBEmSJEktA4IkSZKklgFBkiRJUsuAIEmSJKllQJAkSZLUMiCMUJK7B2g7OcmvkixJcn2SryTZpV+fPZNUkmeuvWolSZKk1WNAWHMfrqrZVbUTcA7w/SRbdR0/Bvhh81uSJEma0AwIY6iqzgG+C7wYIEmAI4G5wDOSbNS76iRJkqThGRDG3mJg52b7ycBNVXUDsAB4Tq+KkiRJkkbCgDD20rV9DHB2s302g9xmlGRekoVJFt535x3jXZ8kSZI0qGm9LmAK2hNYmGR94AjgBUneRic4bJlkk6q6q3tAVc0H5gNsseMutbYLliRJkvq4gjCGkhwBPAM4CzgEuLKqtquqWVW1PfBl4LBe1ihJkiQNxYAwchsnubXr501N+wl9rzkF/hZ4elUtp3M70Vf7zfFlmgeYJUmSpInIW4xGqKoGC1MnD9J/7gBt3wC+MXZVSZIkSWPLFQRJkiRJLQOCJEmSpJYBQZIkSVLLgCBJkiSpZUCQJEmS1DIgSJIkSWoZECRJkiS1/B6ECWbHLTbmS0fs1esyJEmStI5yBUGSJElSy4AgSZIkqWVAkCRJktQyIEiSJElqGRAkSZIktXyL0QTz/37/AKd+9de9LkOSJE0wbz58m16XoHWEKwiSJEmSWgYESZIkSS0DgiRJkqSWAUGSJElSy4AgSZIkqWVAkCRJktQyIEiSJElqGRAkSZIktSZVQEhy9wBtxyV56Vo49yuSXJVkaZKrkxyaZG6Ss/r1m5lkeZKHJNkgySlJrm/GXJbk2eNdqyRJkrS6Jv03KVfVp8Zz/iQBtgPeBuxVVSuSzAC2An4HfCDJxlV1bzPkSOAbVXVfklOAbYDdmv2tgYPGs15JkiRpTUyqFYSBJDk5yYnN9oIkpzb/qb8uyVOa9vWTvD/J5c0KwGua9hlJLkyyuFkdOLRpn5XkZ0k+ASwGHgPcBdwNUFV3V9VNVXUncAnw/K6SjgbOSrIx8Grg+Kq6rxn3m6r6n7XxuUiSJEmrY9IHhAFMq6p9gTcC72zaXgmsqKp9gH2AVyd5DPAH4PCq2gt4GvDBZsUA4PHAmVW1J/BD4DfATUlOT9IdCM6iEwpI8kjgccBFwGOBXzYhYkhJ5iVZmGThPXf+bo0uXpIkSVoTUzEgfKX5vQiY1Ww/A3hpkiXAT4EtgZ2AAO9JshT4HvAoYOtmzC1V9ROAqloFPIvO7UPXAR9OcnLT75vAAUk2BV4EfKnpP2JVNb+q5lTVnIduuuUoL1eSJEkaO5P+GYQB3Nf8XsWfri90bvU5v7tjkrl0niXYu6oeSHIzsFFz+J7uvlVVwGXAZUkuAE4HTq6qlUnOAw6ns5JwQjPkF8Cjk2xSVXeN4fVJkiRJ42YqriAM5HzgtUk2AEjyuCQPBTYDftuEg6cB2w80OMkjk+zV1TQbuKVr/yzgTXRWH/pWHe4F/hM4LcmGzTzbJPnbsb00SZIkaexMthWEjZPc2rX/oRGO+wyd240WN88YLAcOAz4PnJtkIbAE+Pkg4zeg87aiR9J5bmE5cFzX8e8CnwP+s1lp6PPPwL8B1yT5A51ViXeMsGZJkiRprcuf/z2rXtv2sXvU8e8/r9dlSJKkCebNh2/T6xI0hSRZVFVzBjq2rtxiJEmSJGkEDAiSJEmSWgYESZIkSS0DgiRJkqSWAUGSJElSy4AgSZIkqTXZvgdhynvE5hv4GjNJkiT1jCsIkiRJkloGBEmSJEktA4IkSZKklgFBkiRJUsuAIEmSJKllQJAkSZLU8jWnE8yKOx7kO+fc1usyJEnSBPDso2b2ugStg1xBkCRJktQyIEiSJElqGRAkSZIktQwIkiRJkloGBEmSJEktA4IkSZKklgFBkiRJUsuAMIwk2yb5epLrk9yY5GNJHpLkqUlWJLkiybVJLknyvH5jpyW5Lcl7e1W/JEmSNBoGhCEkCfAV4GtVtROwEzAdeF/T5QdVtWdVPR54A/CxJAd3TfEM4FrgRc1ckiRJ0oRmQBja04E/VNXpAFW1CjgBeCkwo7tjVS0B3gW8vqv5GODfgV8C+62NgiVJkqQ1YUAY2q7Aou6GqroTuBl47AD9FwM7AySZDhwMfBM4i05YkCRJkiY0A8LQAtQg7YP17/M84KKquhf4MnB4kvUHHJTMS7IwycI77/zdGhUsSZIkrQkDwtCWAXO6G5JsCmxN59mC/vYEftZsHwMckuRmOqsQWwJPG+gkVTW/quZU1ZxNN91yjEqXJEmSRs+AMLQLgY2TvBSgWQH4IPAxYGV3xyS7A28HPt6EiAOAR1fVrKqaBbwObzOSJEnSBGdAGEJVFXA4cGSS64HfAX+sqnc3XZ7S95pT4OPAG6rqQuCFwPer6r6u6b4OvCDJQ9biJUiSJEmjMq3XBUx0VfW/wAsAkjwJOCvJ3lW1ANhskDFnAGf0a7sd2Go8a5UkSZLWlAFhFKrqx8D2va5DkiRJGi/eYiRJkiSpZUCQJEmS1DIgSJIkSWoZECRJkiS1DAiSJEmSWgYESZIkSS1fczrBbLbFNJ591MxelyFJkqR1lCsIkiRJkloGBEmSJEktA4IkSZKklgFBkiRJUsuAIEmSJKnlW4wmmJXLH2DZp37T6zIkSVKP7Xrc1r0uQesoVxAkSZIktQwIkiRJkloGBEmSJEktA4IkSZKklgFBkiRJUsuAIEmSJKllQJAkSZLUMiBIkiRJahkQgCSrkixJcnWSc5Ns3rQ/MsmXBhmzIMmctVupJEmSNL4MCB0rq2p2Ve0G3A68DqCq/q+qjuxtaZIkSdLaY0D4S5cCjwJIMivJ1c329CRnJ1ma5Bxget+AJK9Mcl2zqvDpJB9r2rdK8uUklzc/T+7FBUmSJEkjNa3XBUwkSdYHDgb+c4DDrwXurardk+wOLG7GPBJ4O7AXcBfwfeDKZsy/Ax+uqh8meTRwPvCEAc47D5gHsM3Dth3Ta5IkSZJGw4DQMT3JEmAWsAi4YIA+BwKnAVTV0iRLm/Z9gYur6naAJF8EHtccOwTYJUnfHJsm2aSq7uqeuKrmA/MBdt1+jxqri5IkSZJGy1uMOlZW1Wxge2BDmmcQBjDQH+8ZoK3PesD+zfMNs6vqUf3DgSRJkjSRGBC6VNUK4A3AiUk26Hf4EuBYgCS7Abs37ZcBByXZIsk04IiuMd8FXt+3k2T2eNUuSZIkjQUDQj9VdQWdZwiO7nfok8CM5taif6ITDKiqXwHvAX4KfA+4BljRjHkDMKd5sPka4LjxvwJJkiRp9fkMAlBVM/rtP79rd7embSV/GRr6fKGq5jcrCF+ls3JAVd0GHDX2FUuSJEnjwxWEsXFy85Dz1cBNwNd6XI8kSZK0WlxBGANVdWKva5AkSZLGgisIkiRJkloGBEmSJEktA4IkSZKklgFBkiRJUsuAIEmSJKnlW4wmmOlbbcCux23d6zIkSZK0jnIFQZIkSVLLgCBJkiSpZUCQJEmS1DIgSJIkSWoZECRJkiS1fIvRBPPAb/7A//vgz3tdhiRJ6oFH/MPOvS5BcgVBkiRJ0p8YECRJkiS1DAiSJEmSWgYESZIkSS0DgiRJkqSWAUGSJElSy4AgSZIkqWVAkCRJktSa8gEhyd1jMMecJKcNcXxWkhePtL8kSZI0UflNyiNQVQuBhUN0mQW8GPjCCPtLkiRJE9KUX0EYSJLZSX6SZGmSrybZomnfp2m7NMn7k1zdtD81yTeb7YOSLGl+rkiyCXAK8JSm7YR+/WckOT3JVc3cR/TquiVJkqThrJMBATgTeHNV7Q5cBbyzaT8dOK6q9gdWDTL2ROB1VTUbeAqwEngL8IOqml1VH+7X/+3Aiqr6q+Z83+8/YZJ5SRYmWfi7e+5Y44uTJEmSVtc6FxCSbAZsXlUXN02fAw5MsjmwSVX9uGn/wiBT/Aj4UJI3NPM8OMwpDwE+3rdTVX+RAKpqflXNqao5Wz50i9FcjiRJkjSm1rmAMISMpFNVnQK8CpgO/CTJziOYt9awNkmSJGmtWOcCQlWtAO5I8pSm6SXAxc1/9u9Ksl/TfvRA45PsWFVXVdWpdB5E3hm4C9hkkFN+F3h913iXCCRJkjRhrQsBYeMkt3b9vAl4GfD+JEuB2cC7mr6vBOYnuZTOf/5XDDDfG5NcneRKOs8ffAdYCjyY5MokJ/Tr/2/AFl1jnjb2lyhJkiSNjSn/mtOqGiwE7TdA27LmQWKSvIXmVaVVtQBY0GwfP8h8B/fb7+t/N51AIkmSJE14Uz4gjNJzk5xE53O5BZjb23IkSZKktcuA0KWqzgHO6XUdkiRJUq+sC88gSJIkSRohA4IkSZKklgFBkiRJUsuAIEmSJKnlQ8oTzAZbb8Qj/mG4L2eWJEmSxocrCJIkSZJaBgRJkiRJLQOCJEmSpJYBQZIkSVLLgCBJkiSp5VuMJpgHf3sXv/3oRb0uQ5IkjaOHH/+0XpcgDcoVBEmSJEktA4IkSZKklgFBkiRJUsuAIEmSJKllQJAkSZLUMiBIkiRJahkQJEmSJLUMCJIkSZJaBoQRSHJ4kkqyc7M/q9k/vqvPx5LMbbbPSPKrJA9p9mcmubkXtUuSJEmjYUAYmWOAHwJHd7X9Fvj7JBsOMmYV8IrxLkySJEkaSwaEYSSZATwZeCV/HhCWAxcCLxtk6EeAE5JMG98KJUmSpLFjQBjeYcB5VXUdcHuSvbqOnQL8Q5L1Bxj3SzqrDi9ZCzVKkiRJY8KAMLxjgLOb7bObfQCq6ibgMuDFg4x9D/CPDPM5J5mXZGGShb+7e8WaVyxJkiStJm9/GUKSLYGnA7slKWB9oIBPdHV7D/Al4JL+46vqF0mWAC8a6jxVNR+YDzD70Y+vsalekiRJGj1XEIZ2JHBmVW1fVbOqajvgJmDbvg5V9XPgGuB5g8zxbuDEca9UkiRJGgMGhKEdA3y1X9uXgbf2a3s3XaGhW1UtAxaPfWmSJEnS2PMWoyFU1VMHaDsNOK1f25V0ha2qmtvv+AvHp0JJkiRpbLmCIEmSJKllQJAkSZLUMiBIkiRJahkQJEmSJLUMCJIkSZJaBgRJkiRJLQOCJEmSpJbfgzDBTHv4Jjz8+Kf1ugxJkiSto1xBkCRJktQyIEiSJElqpap6XYO6JLkLuLbXdWhC+P/t3X3InXUdx/H3h1mYzFq1iNR0Ys61authltHCWVJufyRBYkvSiRDheiKC9Zf94T8aFKE1JWTZA6i0RpmlJUEtN4ez2pO61dDSkWCrUFg+sPntj3Pdh9ub6a7Bff/OvXvvF9zc51y/37n2vXc+nHN9z/Vw5gL7R12Epg3zoDFmQWPMgsY72jycUVVvOtyA5yBMP3uqasmoi9DoJXnQLGiMedAYs6AxZkHjTWYePMRIkiRJ0pANgiRJkqQhG4Tp5/ujLkDThlnQeOZBY8yCxpgFjTdpefAkZUmSJElD7kGQJEmSNGSDMAJJLkqyJ8neJF8/zHiS3NCN70jy3lHUqTZ65OGyLgc7kmxOsngUdWrqHSkL4+adm+RQkk+1rE9t9clDkmVJtiV5KMkfWteoNnq8T7wuyS+TbO+ycOUo6tTUS7IuyVNJdr3M+KRsQ9ogNJZkFvA9YDmwEFiZZOGEacuBs7ufzwE3NS1SzfTMw2PA+VW1CLgWjzmdkXpmYWze9cBv2laolvrkIckcYC3wiap6B3BJ80I15Xq+NqwGHq6qxcAy4FtJXt20ULVyK3DRK4xPyjakDUJ77wf2VtWjVfUCcDtw8YQ5FwM/qoEtwJwkb2ldqJo4Yh6qanNV/be7uwU4rXGNaqPPawPAF4GfAU+1LE7N9cnDZ4ANVfU4QFWZiZmpTxYKODlJgNnAf4CDbctUC1W1kcHz+3ImZRvSBqG9U4Enxt3f1y072jmaGY72ub4KuHtKK9KoHDELSU4FPgnc3LAujUaf14b5wOuT/D7Jn5Jc3qw6tdQnC98F3g78E9gJfLmqXmxTnqaZSdmG9JuU28thlk28lFSfOZoZej/XSS5g0CAsndKKNCp9svAdYE1VHRp8UKgZrE8eTgDeB3wUeA1wf5ItVfXXqS5OTfXJwseBbcBHgLOAe5P8saqemeriNO1MyjakDUJ7+4C3jrt/GoOO/2jnaGbo9VwnWQTcAiyvqn83qk1t9cnCEuD2rjmYC6xIcrCqft6mRDXU971if1UdAA4k2QgsBmwQZpY+WbgSuK4G167fm+QxYAHwQJsSNY1Myjakhxi1txU4O8mZ3QlEnwbunDDnTuDy7kz084Cnq+rJ1oWqiSPmIcnpwAbgs34yOKMdMQtVdWZVzauqecB64Gqbgxmrz3vFL4APJzkhyUnAB4BHGtepqdcnC48z2JNEkjcD5wCPNq1S08WkbEO6B6GxqjqY5AsMrkAyC1hXVQ8l+Xw3fjPwa2AFsBf4H4NPBjQD9czDNcAbgbXdJ8cHq2rJqGrW1OiZBR0n+uShqh5Jcg+wA3gRuKWqDnvpQx27er42XAvcmmQng0NM1lTV/pEVrSmT5DYGV6qam2Qf8A3gVTC525B+k7IkSZKkIQ8xkiRJkjRkgyBJkiRpyAZBkiRJ0pANgiRJkqQhGwRJkiRJQzYIkqRjWpIlSW54hfFTkqxvWZMkHcu8zKkkaVpJMquqDo26Dkk6XrkHQZLUTJJ5SXYn+WGSHUnWJzkpyd+TXJPkPuCSJB9Lcn+SPyf5aZLZ3ePPTbI5yfYkDyQ5OcmyJHd14+cn2db9/KUbn5dkVzd+YpIfJNnZjV/QLV+VZEOSe5L8Lck3R/afJEkj5jcpS5JaOwe4qqo2JVkHXN0tf66qliaZC2wALqyqA0nWAF9Nch1wB3BpVW1N8lrg2Qnr/hqwulv3bOC5CeOrAarqXUkWAL9NMr8bezfwHuB5YE+SG6vqicn90yVp+nMPgiSptSeqalN3+yfA0u72Hd3v84CFwKYk24ArgDMYNBZPVtVWgKp6pqoOTlj3JuDbSb4EzDnM+FLgx93jdwP/AMYahN9V1dNV9RzwcPdvStJxxz0IkqTWJp78Nnb/QPc7wL1VtXL8pCSLDvPYl66o6rokvwJWAFuSXMhL9yLkFR7+/Ljbh/A9UtJxyj0IkqTWTk/ywe72SuC+CeNbgA8leRtAd47CfGA3cEqSc7vlJyd5yUZ8krOqamdVXQ88CCyYsO6NwGXd3PnA6cCeyfvTJOnYZ4MgSWrtEeCKJDuANwA3jR+sqn8Bq4DbujlbgAVV9QJwKXBjku3AvcCJE9b9lSS7uvFngbsnjK8FZiXZyeCQplVV9TySpCEvcypJaibJPOCuqnrniEuRJL0M9yBIkiRJGnIPgiRJkqQh9yBIkiRJGrJBkCRJkjRkgyBJkiRpyAZBkiRJ0pANgiRJkqQhGwRJkiRJQ/8H8RJZ54x/5MYAAAAASUVORK5CYII=\n",
      "text/plain": [
       "<Figure size 864x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    },
    {
     "data": {
      "image/png": "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\n",
      "text/plain": [
       "<Figure size 864x648 with 1 Axes>"
      ]
     },
     "metadata": {
      "needs_background": "light"
     },
     "output_type": "display_data"
    }
   ],
   "source": [
    "for var in ['score', 'f1', 'accuracy', 'precision', 'recall',\n",
    "            'auc', 'cpu_time', 'wall_time']:\n",
    "    rank_model_prof(var)\n",
    "    plt.show();"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "从上面的结果看，LightGBM、XgBoost、GBDT分数最高。人工神经网络数据量太小，所以虽然耗时最多，但预测效果并不理想。"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "## 6. 预测\n",
    "\n",
    "将前面得到的模型用于test数据集，进行预测。从决策树开始，使用未经One-Hot编码处理的数据集。ANN需要将输入结构变换成numpy.array。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 69,
   "metadata": {},
   "outputs": [],
   "source": [
    "X_test = preproc_df(test, use_dummies=True)\n",
    "X_test_ = preproc_df(test, use_dummies=False)"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": 70,
   "metadata": {},
   "outputs": [],
   "source": [
    "for mdl in models.keys():\n",
    "    if mdl in ['Logistic', 'LDA', 'QDA', 'Ridge', 'SVC', 'LinearSVC', 'NuSVC']:\n",
    "        y_pred = models[mdl]['model'].predict(X_test)\n",
    "    elif mdl in ['DecisionTree', 'RandomForest', 'Bagging', 'AdaBoost', \n",
    "                 'ExtraTree', 'GBDT', 'XGB', 'LightGBM']:\n",
    "        y_pred = models[mdl]['model'].predict(X_test_)\n",
    "    elif mdl in ['ANN']:\n",
    "        y_pred = nn.predict_classes(X_test.to_numpy())\n",
    "    \n",
    "    (pd.DataFrame({'PassengerId': test['PassengerId'], 'Survived': y_pred})\n",
    "     .to_csv('pred_%s.csv' % mdl.lower(), index=False))"
   ]
  },
  {
   "cell_type": "markdown",
   "metadata": {},
   "source": [
    "到kaggle提交验证，结果如下:\n",
    "\n",
    "\n",
    " No | 模型      | 预测准确率 (Accuracy)\n",
    "--:|:---------|-----------:\n",
    " 1 | Logistic | 0.77033\n",
    " 2 | Ridge Classifier | 0.78947\n",
    " 3 | Linear Discriminant Analysis | 0.78947\n",
    " 4 | Neural Network | 0.76076\n",
    " 5 | Decision Tree | 0.77511\n",
    " 6 | SVM Classifier | 0.78468\n",
    " 7 | Random Forest | 0.78468\n",
    " 8 | GBDT |  0.79904\n",
    " 9 | XgBoost | 0.75598\n",
    " 10 | LightGBM | 0.75119\n",
    "\n",
    "最后发现，本案例中泛化效果最好的是GBDT大法。"
   ]
  },
  {
   "cell_type": "code",
   "execution_count": null,
   "metadata": {},
   "outputs": [],
   "source": []
  }
 ],
 "metadata": {
  "kernelspec": {
   "display_name": "Python 3",
   "language": "python",
   "name": "python3"
  },
  "language_info": {
   "codemirror_mode": {
    "name": "ipython",
    "version": 3
   },
   "file_extension": ".py",
   "mimetype": "text/x-python",
   "name": "python",
   "nbconvert_exporter": "python",
   "pygments_lexer": "ipython3",
   "version": "3.7.7"
  },
  "toc-autonumbering": false,
  "toc-showmarkdowntxt": false,
  "toc-showtags": false
 },
 "nbformat": 4,
 "nbformat_minor": 4
}
